MATLAB中排序函式sort()的用法
阿新 • • 發佈:2019-01-05
MATLAB中排序函式sort()可以對引數的元素進行升序排序或降序排序。
具體的用法如下:
Y=sort(X)
sort()的引數可以是向量,矩陣,陣列等等。當X是向量時,sort(X)對X的元素進行升序排序;當X是矩陣時,sort(X)對X的每一列進行升序排序;
- >> A=magic(3)
- A =
- 8 1 6
- 3 5 7
- 4 9 2
- >> sort(A)
- ans =
- 3 1 2
- 4 5 6
-
8 9 7
Y=sort(X,DIM,MODE)
引數DIM表示對哪一個維數進行排序,例如當X是一個二維矩陣,當DIM=1時表示對X的每一列進行排序,當DIM=2時表示對X的每一行進行排序。
引數MODE表示按哪一種模式進行排序,當MODE=‘ASCEND’的時進行升序排序,當MODE=‘DESCEND’時,進行降序排序。
Y返回已經排好序的X。
- >> A=magic(3)
- A =
- 8 1 6
- 3 5 7
- 4 9 2
- >> sort(A,2,'descend')
-
ans =
- 8 6 1
- 7 5 3
- 9 4 2
有時我們還需要知道Y中的元素對應於原始序列X中的哪一個元素。於是我們可以用這個命令:
[Y,I] = sort(X,DIM,MODE)
I返回索引序列,它表示Y中的元素與X中元素的對應。
- >> A=magic(3)
- A =
- 8 1 6
- 3 5 7
- 4 9 2
- >> [B,I]=sort(A,1,'ascend')
- B =
-
3 1 2
- 4 5 6
- 8 9 7
- I =
- 2 1 3
- 3 2 1
- 1 3 2