I need help on finding the max & min values of a 3d array.

34 views (last 30 days)
I need help on finding the max & min values of a 3d array.

Accepted Answer

Turlough Hughes
Turlough Hughes on 8 Feb 2022
From the documentation for max:
M = max(A,[],'all')
finds the maximum over all elements of A. This syntax is valid for MATLAB® versions R2018b and later.
From the documentation for min
M = min(A,[],'all')
finds the minimum over all elements of A. This syntax is valid for MATLAB® versions R2018b and later.

More Answers (1)

John D'Errico
John D'Errico on 8 Feb 2022
Edited: John D'Errico on 8 Feb 2022
min and max are not sufficient? For example:
A = randi(1000,[4 3 2])
A =
A(:,:,1) = 190 179 810 90 414 728 714 631 716 310 324 780 A(:,:,2) = 778 790 612 245 897 12 217 24 776 586 954 442
[maxval,maxind] = max(A,[],'all')
maxval = 954
maxind = 20
So 954 is the largest value. It occurs where? At the 20th element of A. That is, if the elements of A were strung out in a single vector as they are stored in memory. What subscripts does that correspond to?
[irow,icol,ipage] = ind2sub(size(A),maxind)
irow = 4
icol = 2
ipage = 2
4th row. 2nd column, 2nd page.
Min works the same way. Ok, it finds the min, not the max, so not exactly the same way. :)

Categories

Find more on Loops and Conditional Statements 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!