MATLAB localmax()函数返回1D向量中的索引

时间:2015-10-14 13:13:51

标签: matlab function matrix vector

为了计算2D矩阵Y的局部最大值,我使用此

[~, indices]= localmax(Y);  

但是indices是1D。如何将其转换回2D以便访问Y中的相应元素?

1 个答案:

答案 0 :(得分:3)

来自the documentation for localmax

  

lmaxima的非零值的线性索引。使用ind2sub来   将线性指数转换为矩阵行和列索引。

例如:

inputmatrix = ...
    [3     2     5     3
    4     6     3     2
    4     4     7     4
    4     6     2     2];


[~,indices] = localmax(inputmatrix,4,false);
[I, J] = ind2sub(size(indices), indices);

编辑:我也应该澄清一下。正如@LuisMendo在上述评论中提到的那样,您可以使用Y直接使用这些linear indices访问Y(indices)的元素。