Azzera filtri
Azzera filtri

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

40 visualizzazioni (ultimi 30 giorni)
I need help on finding the max & min values of a 3d array.

Risposta accettata

Turlough Hughes
Turlough Hughes il 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.

Più risposte (1)

John D'Errico
John D'Errico il 8 Feb 2022
Modificato: John D'Errico il 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. :)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by