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

10 views (last 30 days)
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 Comment
Adam Danz
Adam Danz on 13 Nov 2019
I'm curious what problems there are with sortrows. Mind sharing why you're looking for an alternative?

Sign in to comment.

Accepted Answer

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

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!