配列内の最大値(最小値)の位置(インデックス)を見つけるにはどうしたらいいですか?
411 views (last 30 days)
Show older comments
MathWorks Support Team
on 14 Feb 2019
Edited: MathWorks Support Team
on 26 Sep 2024
find 関数は行列内の非ゼロの要素の位置(インデックス)を返しますが、最大値(最小値)の位置(インデクス)を求める方法を教えてください。
Accepted Answer
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)
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!