45
我想根據特定的列對矩陣進行排序。有一個sort
函數,但它將所有列獨立排序。如何在MATLAB中對一列進行二維數組排序?
例如,如果我的矩陣data
是:
1 3
5 7
-1 4
然後期望的輸出(由第一列進行排序)將是:
-1 4
1 3
5 7
但sort(data)
輸出爲:
-1 3
1 4
5 7
如何根據第一列對此矩陣進行排序?
我想根據特定的列對矩陣進行排序。有一個sort
函數,但它將所有列獨立排序。如何在MATLAB中對一列進行二維數組排序?
例如,如果我的矩陣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,:)
謝謝。我想知道爲什麼我在「另見」中忽略了它 – Midhat 2008-09-25 19:40:20