Ordonner les variables avec Matlab

Résolu
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

  1. Salut
    x=[-5 -2 -7 3 8 2 1];
    [y perm]=sort(abs(x));
    z=sign(x);
    sortx=y.*z(perm);
    

    A plus
    5