Bonjour à tous,
J'ai une matrice A(k,n), avec k et n différente, j'ai pris ici comme exemple k=2 et n=9.
je cherche de classifier les éléments de la matrice selon un critère 'max H', et je prend la première ligne comme référence.
c'est à dire je commence avec la deuxième ligne (k=2) et je test chaque élément dans cette ligne(m=1;2;3;4 ....n) avec tous les éléments de la ligne précédente (k=1) et quand je trouve max 'H' (entre deux éléments) ce signifié que les deux éléments sont le même pour cela je changer la position de cet élément (exemple m=2) à la même position de l’élément dans (k1).
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 for k=1:2 for m=1:n Px=zeros(n); for idx= 1:n % calcul de H entre chaque élément de m et tous les éléments de la ligne précédent. H= B(k+1,m)-B(k,n) Px(n)=H; end % (boucle idx) val=find(max(Px)); idx=find(Px==val); A(k+1,m)=A(k,idx); end %(boucle m) end %boucle k)
Partager