配列内の最大値(最小​値)の位置(インデッ​クス)を見つけるには​どうしたらいいですか​?

494 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 14 Feb 2019
find 関数は行列内の非ゼロの要素の位置(インデックス)を返しますが、最大値(最小値)の位置(インデクス)を求める方法を教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 13 Sep 2024
Edited: MathWorks Support Team on 26 Sep 2024
min 関数や max 関数は、第二出力引数として最大値または最小値の位置(インデックス)を返します。
例えば、下記のコードは行列 A の各列の最大値を行ベクトル M として、またそれぞれの位置を行ベクトル I として返します。ここの結果は M = [3,4], I = [2,2] となります。
A = [1 2; 3 4];
[M,I] = max(A)
min 関数と max 関数の詳細については下記を参照ください。
最大値(最小値)が複数発生し、すべての位置を求める場合には find 関数で以下のように実行します。
maximum = max(max(A));
[x,y]=find(A==maximum)

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!