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

7 views (last 30 days)
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.

Accepted Answer

Jon
Jon on 10 Aug 2015
Edited: Jon on 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')';

More Answers (1)

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

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!