Find the maximum in my array

3 views (last 30 days)
Auryn_
Auryn_ on 14 Mar 2017
Commented: Auryn_ on 14 Mar 2017
Hello, I have an array of size x,y,z. Now, I would like to locate the maximum within all the values in the array. I want to know the value of x, y and z for this maximum value. Thank you very much in advance for your help!

Accepted Answer

Jan
Jan on 14 Mar 2017
Edited: Jan on 14 Mar 2017
A = rand(x, y, z);
[maxValue, maxIndex] = max(A(:));
[ix, iy, iz] = ind2sub([x, y, z], maxIndex);
[EDITED] Here "A" was created only as test data only. If you have the array already, you need the size() command to obtain the dimensions:
[maxValue, maxIndex] = max(A(:));
[ix, iy, iz] = ind2sub(size(A), maxIndex);
  3 Comments
Jan
Jan on 14 Mar 2017
See [EDITED]. Not that "A(:)" is a vector, while "A(:, :, :)" is not and the shown method does not work.

Sign in to comment.

More Answers (1)

Auryn_
Auryn_ on 14 Mar 2017
Hi again,
I have an additional question. Can I use something similar to find the values within a range (e.g. between 0 and 1)? Thanks in advance.
  2 Comments
Jan
Jan on 14 Mar 2017
Please open a new thread for a new question to avoid confusing the readers. Thanks.
The answer might be something like:
Index = find(0 < A & A < 1);
[ix, iy, iz] = ind2sub(size(A), Index)
Sigh, now I've answered already. So obviously I'm the first person who is confused ;-)
Auryn_
Auryn_ on 14 Mar 2017
Thanks, and sorry for the confusion :)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!