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

7 Ansichten (letzte 30 Tage)
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 Kommentar
Adam Danz
Adam Danz am 13 Nov. 2019
I'm curious what problems there are with sortrows. Mind sharing why you're looking for an alternative?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by