Bonjour,

Je vous remercie d'avance de votre aide.
Mon problème:

J'ai deux matrices x et z et je souhaite trouver la moyenne des 3 valeurs de z correspondants aux index des 3 plus grandes valeurs de x. Ensuite je souhaite trouvé la valeur de z étant le plus près de cette moyenne.
Voici mon code, le problème surgit lorsque x possède deux valeurs identiques et là je ne sais pas cmt faire. De plus, c'est possible que mon code ne soit pas très performant...


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
x=[1 9 3 9 4 6 3]
z=[4 6 5 7 8 9 2]
a=sort(x);
b=a(end-2:end)
 
for k=1:length(b)
     b1(1,k)=find(x==b(1,k));
     bb2(1,k)=z(1,b1(1,k));
end
 bb3=mean(bb2);
 [bb4,idx]=min(abs(z(1,:)-bb3));
  cc=z(1,idx)

Je vous remercie bcp

Cypette