Matlab自帶排序函數sort用法

Matlab自帶排序函數sort用法

[Y,I] = sort(X,DIM,MODE)

sort函數默認Mode爲'ascend'爲升序,sort(X,'descend')爲降序排列。

sort(X)若X是矩陣,默認對X的各列進行升序排列

sort(X,dim)

dim=1時等效sort(X)

dim=2時表示對X中的各行元素升序排列

 

Matlab中給一維向量排序是使用sort函數:sort(X),其中x爲待排序的向量。若欲保留排列前的索引,則可用[sX,index] = sort(X) ,排序後,sX是排序好的向量,index是 向量sX中對X 的索引。 索引使排列逆運算成爲可能。事實上,這裏X≡sX(index), [X恆等於sX(index)],這個結論確實很奇妙,而且很有用。

  

matlab按某一列數值,改變矩陣中整行的排列位置。

b=sortrows(a,2)    %a 爲要排序的矩陣。2表示按第幾列進行排序,整數代表升序,負數代表降序。

%將矩陣a按照第2列的升序排列,其他列不會作升序排列,而是將跟隨着第2列 的變化,保持一一對應。

b=sortrows(a,-1)

%將矩陣a按照第1列的降序排列,其他列將跟隨着第1列 的變化,保持一一對應。

 

data=magic(3)

data =

 

     8    1     6

     3    5     7

     4    9     2

data1=sortrows(data,1)

data1 =

 

     3    5     7

     4    9     2

     8    1     6

data2=sortrows(data,-1)

data2 =

 

     8    1     6

     4    9     2

     3    5     7

發佈了21 篇原創文章 · 獲贊 3 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章