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

43 vues (au cours des 30 derniers jours)
Petronella
Petronella le 8 Fév 2022
Modifié(e) : John D'Errico le 8 Fév 2022
I need help on finding the max & min values of a 3d array.

Réponse acceptée

Turlough Hughes
Turlough Hughes le 8 Fév 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.

Plus de réponses (1)

John D'Errico
John D'Errico le 8 Fév 2022
Modifié(e) : John D'Errico le 8 Fév 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. :)

Catégories

En savoir plus sur NaNs dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by