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