2010-07-26 92 views
1

假設我有以下數組需要幫助與排序的陣列

1.0000 2.0000 0.4231 
1.0000 3.0000 0.8050 
1.0000 4.0000 0.7116 
2.0000 4.0000 0.6682 
2.0000 5.0000 0.4460 
2.0000 7.0000 0.5818 
3.0000 4.0000 0.0977 
3.0000 6.0000 0.5989 
3.0000 7.0000 0.3237 
4.0000 7.0000 0.2882 
5.0000 6.0000 0.1456 
5.0000 7.0000 0.3168 
6.0000 7.0000 0.2767 

欲根據第3列的以降序的元素行進行排序。 從而使排序後的數組是這樣的:

1.0000 3.0000 0.8050

1.0000 4.0000 0.7116

2.0000 4.0000 0.6682

3.0000 6.0000 0.5989

......... ..............................

................ .......................

請注意,如果我使用「sortrows」,那麼數組會自動按升序排序,而我無法更改。如果我使用'排序',每列都單獨排序,這不是我想要的。任何幫助將不勝感激。

-Faisal

+0

這個數組是如何存儲的? 你可以創建一個表,然後使用數據視圖,你可以按任何你想要的列進行排序...... – 2010-07-26 12:00:57

回答

3

要按降序你需要一個負列索引順序。

sortrows(a, -3) 
+0

非常感謝。這解決了我的問題。 – Faisal 2010-07-26 16:43:25

2

閱讀手冊的下一頁:

調用sortRows(X,COL)排序基於 矢量COL指定的列 基質中。

尤其是我引用過的下一句。

+3

除非你爲什麼只發布「下一句」,否則會投票。 – defines 2010-07-26 12:01:43

+1

@Dustin:因爲我厭倦了從Matlab在線幫助中剪切和粘貼文本。我並不爲此感到自豪,但那是我當時所能擁有的全部力量。 – 2010-07-26 12:04:40

-1

調用sortRows(yourArray,3)