我如何在matlab中进行简单的排序。我总是必须使用excel链接导入我的数据,对其进行排序,然后导出回matlab。这太烦了!!!
我有一个矩阵< 10x10>我想按降序对第一列进行排序,同时保持第二列的相应值。 Matlab似乎只是单独对每列进行排序。
Example:
matrix a
5 4
8 9
0 6
7 3
matrix b (output)
0 6
5 4
7 3
8 9
答案 0 :(得分:9)
@chaohuang的sortrows
答案可能正是您所寻找的。但是,它会根据所有列进行排序。如果您只想根据第一列进行排序,那么您可以这样做:
% sort only the first column, return indices of the sort
[~,sorted_inds] = sort( a(:,1) );
% reorder the rows based on the sorted indices
b = a(sorted_inds,:);
答案 1 :(得分:4)
只需使用b=sortrows(a);
,请参阅here。