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 doit renvoyer 7 en tant que valeur maximale et 4 en tant qu'index.
La fonction est max
. Pour obtenir la première valeur maximale, vous devez faire
[val, idx] = max(a);
val
est la valeur maximale et idx
son index.
Pour une matrice, vous pouvez utiliser ceci:
[M,I] = max(A(:))
I est l'indice de A (:) contenant le plus grand élément.
A présent, utilisez la fonction ind2sub pour extraire les index de ligne et de colonne de A correspondant au plus grand élément.
[I_row, I_col] = ind2sub(size(A),I)
Dans le cas d'un tableau 2D (matrice), vous pouvez utiliser:
[val, idx] = max(A, [], 2);
La partie idx contiendra le numéro de colonne contenant l'élément max de chaque ligne.
Vous pouvez utiliser max () pour obtenir la valeur maximale. La fonction max peut également renvoyer l'index de la valeur maximale dans le vecteur. Pour obtenir cela, affectez le résultat de l'appel à max à un vecteur à deux éléments plutôt qu'à une seule variable.
par exemple. z est ton tableau,
>> [x, y] = max(z)
x =
7
y =
4
Ici, 7 est le plus grand nombre à la 4ème position (index).
cas 3D
Modification de la réponse de Mohsen pour la matrice 3D:
[M,I] = max (A(:));
[ind1, ind2, ind3] = ind2sub(size(A),I)
Cela retournera la valeur maximale dans une matrice
max(M1(:))
Cela retournera la ligne et la colonne de cette valeur
[x,y]=ind2sub(size(M1),max(M1(:)))
Pour un minimum, il suffit d’échanger le mot max avec min et c’est tout.