我想根据特定列对矩阵进行排序。有一个 sort 函数,但它会独立地对所有列进行排序。

例如,如果我的矩阵 data 是:

 1     3
 5     7
-1     4

然后所需的输出(按第一列排序)将是:

-1     4
 1     3
 5     7

sort(data)的输出是:

-1     3
 1     4
 5     7

如何按第一列对此矩阵进行排序?

有帮助吗?

解决方案

我认为您正在寻找 sortrows 功能

>> sortrows(data,1)

ans =

    -1     4
     1     3
     5     7

其他提示

sortrows()的替代方案,可应用于更广泛的场景。

  1. 保存您要订购的行/列的排序索引:

    [~,idx]=sort(data(:,1));
    
  2. 根据先前排序的索引重新排序所有行/列

    data=data(idx,:)
    
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top