2012-08-03 35 views
1

各自的值如何我只是做在MATLAB一個簡單的排序。我總是必須使用excel鏈接導入我的數據,對它進行排序,然後導出回matlab。這很煩人!MATLAB排序一列,並保持在第二列

我有一個矩陣< 10×10>,我想按降序排列,同時保持它的第二列各值的第一列進行排序。 Matlab似乎只是單獨對每列進行排序。

Example: 
matrix a 
5 4 
8 9 
0 6 
7 3 

matrix b (output) 
0 6 
5 4 
7 3 
8 9 

回答

8

sortrows答案由@chaohuang可能是你在找什麼。但是,它根據所有列進行排序。如果您只想根據第一列進行排序,那麼您可以這樣做:

% 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,:); 
+5

這與a = sortrows(a,1)'沒有區別...... – 2012-08-03 07:38:45

相關問題