How to use ind2sub in this problem

11 ビュー (過去 30 日間)
Coupe Honda
Coupe Honda 2017 年 1 月 31 日
コメント済み: Coupe Honda 2017 年 2 月 1 日
A=1000*sin(reshape(10:999, 30, 33));
Use “max(A(:))” to find the index of the column vector which contains the maximum value, and then convert this vector index of A(:) back to the corresponding matrix index (i; j).you can use ind2sub if you wish.

採用された回答

Niels
Niels 2017 年 2 月 1 日
編集済み: Niels 2017 年 2 月 1 日
you dont need to use ind2sub if you use max...
copied from doc max
[M,I] = max(...) finds the indices of the maximum values of A and returns them in output vector I, using any of the input arguments in the previous syntaxes. If the maximum value occurs more than once, then max returns the index corresponding to the first occurrence.
A=1000*sin(reshape(10:999, 30, 33));
[maxA,indexA]=max(A(:));
j=ceil(indexA/size(A,1));
i=mod(indexA,size(A,1));
if i==0
i=size(A,1);
end
A(indexA)
A(i,j)
should be your desired maximum
or the boring solution:
[i,j] = ind2sub(size(A),indexA);
ind2sub uses modulo as well
  1 件のコメント
Coupe Honda
Coupe Honda 2017 年 2 月 1 日
You are awesome

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by