Sort every single row

2 views (last 30 days)
Patrick
Patrick on 18 Feb 2015
Edited: Stephen23 on 18 Feb 2015
How can I sort every single row of a matrix in ascending order? For example [16 2 3 13; 5 11 10 8] becomes [2 3 13 16;5 8 10 11] Thanks for help!

Accepted Answer

per isakson
per isakson on 18 Feb 2015
One way
M = [16 2 3 13; 5 11 10 8] ;
for rr = 1 : size( M, 1 )
M( rr, : ) = sort( M( rr , : ), 'ascend' );
end
  2 Comments
Patrick
Patrick on 18 Feb 2015
Thank you man!
Stephen23
Stephen23 on 18 Feb 2015
Edited: Stephen23 on 18 Feb 2015
Doing this in a loop is poor MATLAB code. Use sort's optional second dimension argument instead:
>> A = [16 2 3 13; 5 11 10 8]
>> sort(A,2)
ans =
2 3 13 16
5 8 10 11
This is faster, neater and much more robust.

Sign in to comment.

More Answers (0)

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!