2 votes

trier une matrice dans MATLAB

J'ai une matrice qui contient (6 lignes, 2 colonnes) comme le montre l'image ci-jointe.

enter image description here

J'aimerais avoir une nouvelle matrice (dans MATLAB) qui contient les deuxièmes colonnes classées par ordre croissant, mais j'aimerais conserver les valeurs correspondantes dans la ligne. Par exemple : la matrice de sortie ressemble à ceci

enter image description here

2voto

Parag S. Chandakkar Points 3137

Vous pouvez procéder comme suit :

mat = randi(30, [6 2]);  % creating the matrix
[mat(:,2),ind] = sort(mat(:,2));
mat(:,1) = mat(ind,1);

Si vous avez accès au sortrows c'est plus simple :

mat = sortrows(mat,2);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X