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

sortsort matrixsort rowssortrows

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?

Best Answer

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