Bonjour à toutes et à tous,
Je cherche dans l'aide depuis 1 heure une fonction permettant de retourner les indices des 4 plus grandes valeurs d'un vecteur. Je ne trouve pas !
Est-ce que cette fonction existe, ou dois-je la coder?
Merci
Bonjour à toutes et à tous,
Je cherche dans l'aide depuis 1 heure une fonction permettant de retourner les indices des 4 plus grandes valeurs d'un vecteur. Je ne trouve pas !
Est-ce que cette fonction existe, ou dois-je la coder?
Merci
Il te suffit de trier ton vecteur avec la fonction SORT et de ne prendre que les 4 valeurs qui t'intéressent dans le vecteur résultat, non ?
en fait c'est pour récupérer les indices des maximums avant de les avoir triés. Les valeurs ne m'interessent pas.
La fonction sort permet de récupérer l'ordre de permutation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 >> V=ceil(100*rand(1,10)) V = 96 24 61 49 90 77 46 2 83 45 >> [sortV,Ordre]=sort(V) sortV = 2 24 45 46 49 61 77 83 90 96 Ordre = 8 2 10 7 4 3 6 9 5 1 >> % Si tu veux les 4 plus grandes valeurs ainsi que leur indies : >> V4max = sortV(end-3:end) V4max = 77 83 90 96 >> IndV4max = Ordre(end-3:end) IndV4max = 6 9 5 1
Merci, Matlab est super puissant.
Aie, j'ai des valeurs qui valent nan et il les place juste apres les valeurs maximums, et ca me pourri mon algo...![]()
Sans aller chercher bien loin : Compter le nombre de valeurs sans prendre en compte les NaN
thanks, cette fois ci j'aurai du terminer ma recherche avant de poster.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager