最大値(最小値)がある要素の抽出 †配列の最大値,最小値を求めるだけでなく,その場所(インデックス,配列の添字)を知りたいことがよくある. [row,col] = find(A == max(A(:))); でAij の添字i,j を求められる. ind = find(A == max(A(:))); %方法①, or [maxval,ind] = max(A(:)); %方法② [i,j,k] = ind2sub(size(A),ind); i,j,k,...の個数は配列Aの次元(=ndims(A))と一致させる. また,Aが浮動小数点数の配列の場合,精度の関係でfindを使う方法に問題はないのか?という疑問はある(確認はしていない) 参考 MathWorks公式 † |