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

3 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Jon
Jon am 10 Aug. 2015
Bearbeitet: Jon am 10 Aug. 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')';

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 10 Aug. 2015
[~,ii] = sort(a(1,:));
out = a(:,ii);

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by