Ordonner les variables avec Matlab

Résolu/Fermé
hassen62 - 21 mars 2008 à 18:55
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 - 21 mars 2008 à 21:56
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.

1 réponse

Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
21 mars 2008 à 21:56
Salut
x=[-5 -2 -7 3 8 2 1];
[y perm]=sort(abs(x));
z=sign(x);
sortx=y.*z(perm);

A plus
5