【功能简介】对向量、矩阵或数组中的元素进行排序。
【语法格式】
1.B=sort(A)
将数组A中的元素沿着不同维度按照升序排列。如果A为向量,函数对元素按照升序排列;如果A为矩阵,函数对矩阵中的每一列按照升序排列;如果A为多维数组,函数沿着第一个长度不为1的维度进行升序排列。对于相同的元素,按照其先后顺序排列;对于复数元素,先按幅值进行排列,若幅值相等,则按[-pi,pi]区间的相角进行排列;对于NaN元素,将它们排在最后。
格式变体:
B=sort(A,dim):沿着dim指定的维度进行升序排列。
2.B=sort(…,mode)
按照mode的取值指定排序的方向。mode='ascend'为默认的升序排列,mode='descend'为降序排列。
3.[B,IX]=sort(A,…)
返回A的同型数组IX,表示排序结果在原数组中的索引。若A为向量,B=A(IX)。若A为m×n矩阵,则IX中的每一列是与A中的列向量中的元素相对应的索引向量。
【实例5.18】对实数和复数矩阵进行排序。
- >> A=[3,7,5;0,4,2]; %2×3实数矩阵
- >> B=sort(A,2,'descend') %对实数矩阵A按行进行降序排列
- B =
- 7 5 3
- 4 2 0
- >> A=[3+i,7,4-i;5i,4+3i,2]; %2×3复数矩阵
- >> B=sort(A,2,'descend') %对复数矩阵A按行进行降序排列
- B =
- 7.0000 4.0000 - 1.0000i 3.0000 + 1.0000i
- 0 + 5.0000i 4.0000 + 3.0000i 2.0000
【实例分析】'descend'表示排列方向为降序,复数进行排序时,按幅值和相角进行排序。