Comment puis-je trouver la valeur maximale et son index dans le tableau de MATLAB?

Supposons que j'ai un tableau, a = [2 5 4 7]. Quelle est la fonction retournant la valeur maximale et son index?

par exemple, dans mon cas, cette fonction devrait retourner 7 comme valeur maximale et 4 comme indice.

28
demandé sur gnovice 2012-11-23 18:24:41

5 réponses

La fonction max. Pour obtenir la première valeur maximale, vous devez faire

[val, idx] = max(a);

val est la valeur maximale et idx est son indice.

60
répondu Acorbe 2017-04-25 20:22:19

Pour une matrice, vous pouvez utiliser ceci:

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

I est l'indice D'un (:) contenant le plus grand élément.

[I_row, I_col] = ind2sub(size(A),I)
https://www.mathworks.com/help/matlab/ref/max.html

5
répondu Mohsen 2017-03-31 15:53:13

dans le cas D'un tableau 2D (matrix), vous pouvez utiliser:

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

la partie idx contiendra le numéro de colonne de contenant l'élément max de chaque ligne.

4
répondu Rupal Sonawane 2017-04-25 20:22:29

Vous pouvez utiliser max() pour obtenir la valeur max. La fonction max peut également retourner l'indice de la valeur maximale dans le vecteur. Pour l'obtenir, affecter le résultat de l'appel à max, à deux élément de vecteur au lieu d'une seule variable.

e.g. z est votre tableau,

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

x =

7

y =

4

ici, 7 est le plus grand nombre à la 4ème position (indice).

4
répondu bonCodigo 2017-04-25 20:23:01

3D cas

Modification Mohsen réponse pour tableau 3D:

[M,I] = max (A(:));
[ind1, ind2, ind3] = ind2sub(size(A),I)
2
répondu user3804598 2017-07-05 14:53:31