web-dev-qa-db-ja.com

オクターブ:行の最小値を検索し、それもインデックスです

各行の最小値と最小値のインデックスをどのように見つけるのでしょうか?

octave:1> a = [1 2 3; 9 8 7; 5 4 6]
a =

   1   2   3
   9   8   7
   5   4   6
11
AG1

これはドキュメントでは見つけるのが難しいです。 https://www.gnu.org/software/octave/doc/v4.0.3/Utility-Functions.html

octave:2> [minval, idx] = min(a, [], 2)
minval =

   1
   7
   4

idx =

   1
   3
   2
11
AG1

Aが行列の場合、次のようにします。

[colMin, row] = min(A);
[rowMin, col] = min(A');

colMinは各行の最小値で、列のインデックスをcolにします。 rowMinは各列の最小値であり、行インデックスを行にします。

最小要素のインデックスを見つけるには:

[colMin, colIndex] = min(min(A)); 
[minValue, rowIndex] = min(A(:,colIndex))
4

Xが行列であるとします
row、col =最小値の行と列のインデックス

[min_value, column_index] = min(X(:))
[row, col] = ind2sub(size(X),column_index)
2
Mac L. Lak