2

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)まったく表示されません。

4

2 に答える 2

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;
于 2012-10-26T14:35:18.097 に答える
0

OK私はそれを理解します:

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

MinValueはMATRICEの最小値であり、MinIndexのインデックスに加えて、固定小数点を直接指します。

于 2012-10-26T17:35:57.847 に答える