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...