フィルターのクリア

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

219 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2019 年 2 月 14 日
編集済み: MathWorks Support Team 2021 年 12 月 30 日
find 関数は行列内の非ゼロの要素の位置(インデックス)を返しますが、最大値(最小値)の位置(インデクス)を求める方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2021 年 12 月 30 日
編集済み: MathWorks Support Team 2021 年 12 月 30 日
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 件)

カテゴリ

Help Center および File Exchange記述統計 についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!