Min(x,y)对值的matlab矩阵索引

时间:2012-10-26 14:08:39

标签: matlab indexing minimum

我得到了5 * 5 MATRICE。 我想找到(i,j)的最小值,它对应于距离网格固定点的最小距离。

我用过: MATRICE(find(MATRICE(1,:))== min(MATRICE(1,:)),:) 并且:

[minVal, minInd] = min(MATRICE(:,1));
MATRICE(minInd,1);
[~,MATRICE_2] = min(MATRICE(:,:));

disp(MATRICE_2)为我提供了正确的row(i) MATRICE,但column(j)根本没有显示。

2 个答案:

答案 0 :(得分:1)

我不确定我是否理解正确,但如果你想找到数组中最小条目的(row,col)索引,你可以使用这个

[i,j] = ind2sub(size(MATRICE), find(MATRICE==min(MATRICE(:))))

其中A是您的矩阵。这可以通过将矩阵更改为25个元素的向量,查找最小值的位置,并使用(row,col)将该位置转换为ind2sub对来实现。

您所写的内容会在矩阵的每一列中找到最小值。因此,i中的每个MATRICE_2条目都会在列i中显示最小值的行索引。换句话说,列和行索引是

cols = 1:numel(MATRICE_2);
rows = MATRICE_2;

答案 1 :(得分:0)

好的我明白了:

[MinValue, MinIndex] = min(MATRICE(:));
MinSub =ind2sub(size(MATRICE), MinIndex);

MinValue是MATRICE和MinIndex的最小值,它的索引加上直接指向固定点。