MATLAB中排序函数sort()的用法

来源:互联网 发布:motofastboot软件下载 编辑:程序博客网 时间:2024/05/20 20:11

MATLAB中排序函数sort()可以对参数的元素进行升序排序或降序排序。


具体的用法如下:

Y=sort(X)

sort()的参数可以是向量,矩阵,数组等等。当X是向量时,sort(X)对X的元素进行升序排序;当X是矩阵时,sort(X)对X的每一列进行升序排序;

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. >> A=magic(3)  
  2.   
  3. A =  
  4.   
  5.      8     1     6  
  6.      3     5     7  
  7.      4     9     2  
  8.   
  9. >> sort(A)  
  10.   
  11. ans =  
  12.   
  13.      3     1     2  
  14.      4     5     6  
  15.      8     9     7  

Y=sort(X,DIM,MODE)

参数DIM表示对哪一个维数进行排序,例如当X是一个二维矩阵,当DIM=1时表示对X的每一列进行排序,当DIM=2时表示对X的每一行进行排序。

参数MODE表示按哪一种模式进行排序,当MODE=‘ASCEND’的时进行升序排序,当MODE=‘DESCEND’时,进行降序排序。

Y返回已经排好序的X。

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. >> A=magic(3)  
  2.   
  3. A =  
  4.   
  5.      8     1     6  
  6.      3     5     7  
  7.      4     9     2  
  8.   
  9. >> sort(A,2,'descend')  
  10.   
  11. ans =  
  12.   
  13.      8     6     1  
  14.      7     5     3  
  15.      9     4     2  

有时我们还需要知道Y中的元素对应于原始序列X中的哪一个元素。于是我们可以用这个命令:

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

I返回索引序列,它表示Y中的元素与X中元素的对应。

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. >> A=magic(3)  
  2.   
  3. A =  
  4.   
  5.      8     1     6  
  6.      3     5     7  
  7.      4     9     2  
  8.   
  9. >> [B,I]=sort(A,1,'ascend')  
  10.   
  11. B =  
  12.   
  13.      3     1     2  
  14.      4     5     6  
  15.      8     9     7  
  16.   
  17.   
  18. I =  
  19.   
  20.      2     1     3  
  21.      3     2     1  
  22.      1     3     2  
0 0