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中哪一個對應。