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

find 関数は行列内の非ゼロの要素の位置(インデックス)を返しますが、最大値(最小値)の位置(インデクス)を求める方法を教えてください。

 Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 13 Sep 2024
Modifié(e) : MathWorks Support Team le 26 Sep 2024

2 votes

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)

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!