sort a line of the matrix and change the other lines according the line sorted

3 vues (au cours des 30 derniers jours)
Hello, i want to sort a line of the matrix and change the other lines according the line sorted. For example, i have a matrix like this:
a = [5 3 4 2 6; 1 2 3 4 5].
i want to sort line 1 and change line 2 according the sort of line 1, like this:
aSorted = [2 3 4 5 6; 4 2 3 5 1]
How can i do that??
Thank you for your help.

Réponse acceptée

Jon
Jon le 10 Août 2015
Modifié(e) : Jon le 10 Août 2015
Use sortrows.
a = a'; % transpose your matrix
asorted = sortrows(a,1); % sort by first column (row)
asorted = asorted'; % de-transpose your matrix
You can combine all that code into one line:
asorted = sortrows(a')';

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 10 Août 2015
[~,ii] = sort(a(1,:));
out = a(:,ii);

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by