Sort every single row

2 vues (au cours des 30 derniers jours)
Patrick
Patrick le 18 Fév 2015
Modifié(e) : Stephen23 le 18 Fév 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!

Réponse acceptée

per isakson
per isakson le 18 Fév 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 commentaires
Patrick
Patrick le 18 Fév 2015
Thank you man!
Stephen23
Stephen23 le 18 Fév 2015
Modifié(e) : Stephen23 le 18 Fév 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by