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

14 visualizzazioni (ultimi 30 giorni)
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 Commento
Adam Danz
Adam Danz il 13 Nov 2019
I'm curious what problems there are with sortrows. Mind sharing why you're looking for an alternative?

Accedi per commentare.

Risposta accettata

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

Più risposte (0)

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