Find the maximum in my array

2 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.

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!