MATLAB Answers

How to use ind2sub in this problem

14 views (last 30 days)
Coupe Honda
Coupe Honda on 31 Jan 2017
Commented: Coupe Honda on 1 Feb 2017
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.

  0 Comments

Sign in to comment.

Accepted Answer

Niels
Niels on 1 Feb 2017
Edited: Niels on 1 Feb 2017
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 Comment

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Tags