MATLABで最大値のインデックスを見つける方法
MATLABでは、max関数で行列やベクトルの最大値を求め、find関数でその最大値の位置を求めます。
たとえば、行列Aがあって、そこで最大値とその場所を見つけたい場合など。
A = [1, 2, 3; 4, 5, 6; 7, 8, 9];
[maxValue, linearIndex] = max(A(:));
[row, col] = ind2sub(size(A), linearIndex);
max(A(:))は、行列Aの最大値を返します。A(:)は行列を列ベクトルに展開して、max関数が使用できるようにします。
インデックスlinearIndexから、行列インデックスrowとcolに変換します。
最大値はmaxValueに、最大値がある行列の位置はrowとcolに記録されます。