j'ai un tableau en entrée comme suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
A=[5,6,6,6,6,6,6,7,7,7,8,9,8,9,8,11,10,12,10,12,10,13,13]
je veux trier ce tableau et récupérer les indices des nouveaux éléments triés par rapport au tableau initial A mais dans l'ordre
c.à.d:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
A_Tri=[5,6,6,6,6,6,6,7,7,7,8,8,8,9,9,10,10,10,11,12,12,13,13]
Indice=[1,2,3,4,5,6,7,8,9,10,11,13,15,12,14,17,19,21,16,18,20,22,23]
L'algorithme que j'ai écrit, le voici :
Code matlab : 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
for ii=1:taille(A)
 
 
      posenA(ii)=ii;
end
for i=1:Taille(A)-1
    wmin=i;
 
            for j=i+1:Taille(A)
                if A(j)<A(wmin)
                    wmin=j;
                end
            end
                if wmin<>i 
                    aux= A(i);
                    A(i)=A(wmin);
                    A(wmin)=aux;
                    auxun=posenA(1,i);
                     posenA(1,i)=posenA(1,wmin);
                    posenA(wmin)=auxun;
 
                end
 
 
end



permet de bien trier le tableau et récupérer les indices mais pas dans l'ordre.
Voici le tableau indice résultant de mon algorithme Indice=[1,2,3,4,5,6,7,8,9,10,11,13,15,14,12,17,19,21,16,20,18,22,23]
Quelqu’un SVP permet de me montrer l'erreur ou m'aider.MERCI