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

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

I'm curious what problems there are with sortrows. Mind sharing why you're looking for an alternative?

Sign in to comment.

 Accepted Answer

newM = sortrows(m.').';
That's pretty straightforward ;)

More Answers (0)

Categories

Asked:

on 12 Nov 2019

Commented:

on 13 Nov 2019

Community Treasure Hunt

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

Start Hunting!