Hoe kan ik de maximale waarde en de index in de array in Matlab vinden?

Stel dat ik een array heb, a = [2 5 4 7]. Wat is de functie die de maximale waarde en de index wordt teruggestuurd?

Bijvoorbeeld, in mijn geval die functie 7 moet retourneren als de maximale waarde en 4 als de index.


Antwoord 1, Autoriteit 100%

De functie is max. Om de eerste maximale waarde te verkrijgen die u moet doen

[val, idx] = max(a);

valis de maximale waarde en idxis de index.


Antwoord 2, Autoriteit 16%

Voor een matrix kunt u dit gebruiken:

[M,I] = max(A(:))

I is de index van A (:) met het grootste element.

Gebruik nu de IND2SUB-functie om de rij- en kolomindices van een overeenkomstig het grootste element te extraheren.

[I_row, I_col] = ind2sub(size(A),I)

Bron: https://www.mathworks.com/help/matlab/ REF / MAX.HTML


Antwoord 3, Autoriteit 14%

In het geval van een 2D-array (matrix), kunt u gebruiken:

[val, idx] = max(A, [], 2);

Het IDX-gedeelte bevat het kolomnummer van het bevatten van het maximale element van elke rij.


Antwoord 4, Autoriteit 6%

3D-koffer

MOHSEN’s antwoord voor 3D-array wijzigen:

[M,I] = max (A(:));
[ind1, ind2, ind3] = ind2sub(size(A),I)

Antwoord 5, Autoriteit 5%

Je kunt max() gebruiken om de maximale waarde te krijgen. De max-functie kan ook de index van de maximale waarde in de vector retourneren. Om dit te krijgen, wijst u het resultaat van de aanroep aan max toe aan een vector met twee elementen in plaats van slechts een enkele variabele.

bijv.
z is je array,

>> [x, y] = max(z)
x =
7
y =
4

Hier is 7 het grootste getal op de 4e positie (index).


Antwoord 6

Dit geeft de maximale waarde in een matrix terug

max(M1(:))

Hiermee worden de rij en de kolom van die waarde geretourneerd

[x,y]=ind2sub(size(M1),max(M1(:)))

Verwissel voor het minimum het woord max met min en dat is alles.


Antwoord 7

Bijvoorbeeld:

max_a = max(a)
a.index(max_a)

Other episodes