Indice de max et min de la valeur dans un tableau
Comment puis-je trouver l'index de l'élément maximum dans un tableau sans boucle?
Par exemple, si j'ai:
a = [1 2 999 3];
Je veux définir une fonction indexMax
de sorte que indexMax(a)
serait de retour 3
.
De même pour la définition de indexMin
.
- Il y a un problème avec cette question. @EvgeniSergeev ne souhaitez trouver l'indice de la valeur max ou min valeur dans un tableau. Il est d'utiliser le nom "argmax" pour elle (et la composée de la fonction "argmax(a)"). Mais argmax est quelque chose de différent (en.wikipedia.org/wiki/Arg_max). A cet effet cette question est vraiment déroutant si vous êtes vraiment à la recherche d'un argmax fonction dans MATLAB.
Vous devez vous connecter pour publier un commentaire.
Comme indiqué par Evgeni
max
etmin
pouvez retourner leargmax
etargmin
comme deuxième argument.Il est intéressant de noter que vous pouvez utiliser ces fonctions le long des dimensions spécifiques:
Note le vide
[]
deuxième argument: il est crucialmax( A, [], 2 )
est pas à tous les équivalent àmax( A, 2 )
(je vous laisser un petit exercice pour voir ce quemax( A, 2 )
n').La argmax/argmin retourné à partir de ces "le long de la dimension" appels sont ligne/col indices.
max(X, Y)
est un élément-sage max (tout comme.*
est un élément-sage multiplier) ... avec le scalaire usuel de comportement, à savoir. tailles deX
etY
doit être le même ou l'un d'eux peut être un scalaire.Le haut-
max
fonction dispose de cette fonctionnalité lorsque deux arguments de sortie sont indiqués:De même pour
min
.Comme une solution alternative, vous pouvez essayer ceci:
Évidemment, la même procédure est applicable en cas de
max
.J'espère que cette aide.