Matlab - 排序矩阵

时间:2011-03-18 02:23:26

标签: sorting matlab

我想我可以通过一个例子说明这一点: 假设我有A = [1,4,2,3;                      0,-1,2,-1]

我想把它变成 [1,2,3,4; 0,2,-1,-1]

即。保持列完好无损,按第一行中的条目排序。我该怎么做?

1 个答案:

答案 0 :(得分:2)

sortrows命令执行您想要的操作:

>> A = [ 1, 4, 2, 3; 0,-1, 2, -1];
>> sortrows(A.').'   

ans =

     1     2     3     4
     0     2    -1    -1

您还可以使用sort中的第二个返回值来获取将矩阵转换为所需矩阵所需的列排列:

>> [~,ii] = sort(A(1,:))

ii =

     1     3     4     2

>> A(:,ii)

ans =

     1     2     3     4
     0     2    -1    -1