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

5 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Jon
Jon el 10 de Ag. de 2015
Editada: Jon el 10 de Ag. de 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')';

Más respuestas (1)

Andrei Bobrov
Andrei Bobrov el 10 de Ag. de 2015
[~,ii] = sort(a(1,:));
out = a(:,ii);

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by