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.
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.
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
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.
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).
3D cas
Modification Mohsen réponse pour tableau 3D:
[M,I] = max (A(:));
[ind1, ind2, ind3] = ind2sub(size(A),I)