我想根据特定列对矩阵进行排序。有一个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()
,可应用于更广泛的场景。
保存要排序的行/列的排序索引:
[~,idx]=sort(data(:,1));
根据先前排序的索引重新排序所有行/列
data=data(idx,:)