matlab 对矩阵按照某一列排序

升序:

命令:
data=[1,2,3;
      7,8,9;
      4,5,6
     ];
a1=sortrows(data,1); %按照第一列排序(升序),其他列与排序结果一一对应。
a2=sortrows(data,2); %按照第二列排序(升序),其他列与排序结果一一对应。
a3=sortrows(data,3); %按照第三列排序(升序),其他列与排序结果一一对应。

结果:
>> a1 =

     1     2     3
     4     5     6
     7     8     9

>> a2

a2 =

     1     2     3
     4     5     6
     7     8     9

>> a3

a3 =

     1     2     3
     4     5     6
     7     8     9

%也可以同时排序
%先按照第一列排序(升序),再按照第二列排序(升序),其他列与排序结果一一对应。

a1=sortrows(data,[1,2]); 
>> data

data =

     1     2     3
     7     8     9
     4     5     6

>> a1

a1 =

     1     2     3
     4     5     6
     7     8     9

降序:

命令:
data=[1,2,3;
      7,8,9;
      4,5,6
     ];

b1=sortrows(data,-1); %按照第一列排序(降序),其他列与排序结果一一对应。
b2=sortrows(data,-2); %按照第二列排序(降序),其他列与排序结果一一对应。
b3=sortrows(data,-3); %按照第三列排序(降序),其他列与排序结果一一对应。

结果:
>> b1

b1 =

     7     8     9
     4     5     6
     1     2     3

>> b2

b2 =

     7     8     9
     4     5     6
     1     2     3

>> b3

b3 =

     7     8     9
     4     5     6
     1     2     3

 

你可能感兴趣的:(matlab,matlab,排序)