How do I maintain rows when sorting a matrix in MATLAB?
I have a 2-by-3 matrix, and I want to sort it according to the first column. Here's an example:
data will change 开发者_如何学运维to --> new data
11 33 10 22
22 44 11 33
10 22 22 44
I have this code for sorting a matrix A
but it doesn't work well:
sort(A,1,'ascend');
The SORTROWS function can handle that for you:
B = sortrows(A);
As @gnovice suggests, sortrows
is the best solution here. You can also specify more than one output for the sort
and sortrows
commands, which will return the sort index. You can use this to modify your other columns as well or just to keep track of the permutation. For example:
A=rand(10,2);
[B, idx]=sortrows(A);
精彩评论