Sort matrix based on values in the first row from small to large

15 visualizaciones (últimos 30 días)
Hi,
I have a matrix M
M =
39 93 143 64 36
1 2 3 4 5
I would like to sort the matrix M by values in the top row from small to large and expecting the integers in the buttom row also move accordingly, leading to something like
newM = 36 39 64 93 143
5 1 4 2 3
I mean I could transpose the matrix and do it using 'sortrows' then transpose back.
I am just wondering whether there is a more straight forward way of achieving it?
  1 comentario
Adam Danz
Adam Danz el 13 de Nov. de 2019
I'm curious what problems there are with sortrows. Mind sharing why you're looking for an alternative?

Iniciar sesión para comentar.

Respuesta aceptada

Adam Danz
Adam Danz el 12 de Nov. de 2019
Editada: Adam Danz el 13 de Nov. de 2019
newM = sortrows(m.').';
That's pretty straightforward ;)

Más respuestas (0)

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