Mid*_*hat 45 sorting matlab matrix octave
我想根据特定列对矩阵进行排序.有一个sort函数,但它独立地排序所有列.
例如,如果我的矩阵data是:
 1     3
 5     7
-1     4
然后所需的输出(按第一列排序)将是:
-1     4
 1     3
 5     7
但输出sort(data)是:
-1     3
 1     4
 5     7
如何按第一列对此矩阵进行排序?
Ken*_*ena 75
我认为sortrows函数就是你要找的东西.
>> sortrows(data,1)
ans =
    -1     4
     1     3
     5     7
的替代方案sortrows(),可应用于更广泛的场景。
保存要排序的行/列的排序索引:
[~,idx]=sort(data(:,1));
根据先前排序的索引对所有行/列重新排序
data=data(idx,:)