Ordonner les variables avec Matlab

Résolu
hassen62 -  
Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   -
Salut tout le monde,
j'ai un exercice auquel j'ai pas trouvé de solutions:
j'ai un vecteur (a1, a2,...,an) qui peut comporter des valeurs négatives, je voudrais créer une fonction avec matlab qui ordonne selon un ordre croissant ce vecteur en valeurs absolues mais en gardant les signes. C'est à dire si j'ai le vecteur
suivant:(-5,-2,-7,3,8,2,1) je voudrais avoir l'ordre suivant:1 -2 2 3 -5 -7 8.
Est qu'il y a une personne qui peut m'aider. Merci d'avance.
Cordialement,
Hassen.
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   1 863
 
Salut
x=[-5 -2 -7 3 8 2 1];
[y perm]=sort(abs(x));
z=sign(x);
sortx=y.*z(perm);

A plus
5