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

4 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Jon
Jon il 10 Ago 2015
Modificato: Jon il 10 Ago 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')';

Più risposte (1)

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

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by