matlab中sort函式的用法

2021-05-21 13:14:44 字數 1053 閱讀 6698

help文件中第一句就說明,可以用sort將參量中的元素按公升序或降序排列~

格式:b = sort(a)   %沿著輸入參量 a的不同維的方向、從小到大重新排列 a中的元素。a 可以是字串的、實數的、複數的單元陣列。對於 a 中完全相同的元素,則按它們在 a 中的先後位置排列在一塊;若 a 為複數的,則按元素幅值的從小到大排列,若有幅值相同的複數元素,則再按它們在區間[-π ,π ]的幅角從小到大排列;若 a 中有元素為nan,則將它們排到最後。若 a為向量,則返回從小到大的向量,若a為二維矩陣,則按列的方向進行排列;若a為多維陣列,sort(a)把沿著第一非單元集的元素像向量一樣進行處理。

b=sort(a,dim) %沿著矩陣a中指定維數dim方向重新排列a中的元素。

[b,ix]=sort(a); %其中ix是乙個大小等於size(a)的陣列,其每一列是a中列向量的元素相對應的置換位置記號。

舉例:a = [ 3 3 5

0 4 2 ];

sort(a,1) %縱向排列

ans =

0     3     2

3     4     5

sort(a,2) %橫向排列

ans =

3     3     5

0     2     4

>>a = [-1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i];

>>[b1,index] = sort(a)

計算結果為:

b1 =

columns 1 through 4

-0.2000      -1.9000       3.1416         2.4000 + 3.6000i

columns 5 through 6

5.6000      7.0000

index =

2     1     3     6     4     5

由此可知,如果a與另乙個矩陣c(char或cell)一一對應,如果用[b1,index] = sort(a)對a進行排序,則可以取得索引index,進而可以查詢b1中每個元素與c中哪乙個對應。

matlab的sort函式用法

1.sort a 對一維或二維矩陣進行公升序排序,並返回排序後的矩陣 當a為二維矩陣時,對矩陣的每一列分別進行排序。2.sort a,dim 對矩陣按指定的方向進行公升序排序,並返回排序後的矩陣。當dim 1時,對矩陣的每一列排序 即將第一維行數打亂重排 當dim 2時,對矩陣的每一行排序 即將第二...

Matlab 用sort函式排序 二維陣列

在matlab中排序某個向量 一維 時,可以使用sort a 其中a為待排序的向量,如果僅是用來排序a,那麼直接使用sort a 即可,如果排序後還需要保留原來的索引可以用返回值,即 b,ind sort a 計算後,b是a排序後的向量,a保持不變,ind是b中每一項對應於a 中項的索引。排序是安公...

matlab中mapminmax 函式的用法

畢設使用的函式,記錄一下方便回憶help mapminmax mapminmax map matrix row minimum and maximum values to 1 1 y,settings mapminmax x takes a matrix and returns it transfo...