matlab 对数组元素排序
时间: 2023-11-07 18:59:11 浏览: 163
Matlab提供了多种排序函数,可以对数组元素进行排序,以下是一些常用的排序函数:
1. sort函数:对数组进行升序排列
```matlab
A = [4 2 6 1 3 5];
B = sort(A); % B = [1 2 3 4 5 6]
```
2. sortrows函数:对矩阵的行进行排序
```matlab
A = [5 2 3; 1 4 2; 3 1 5];
B = sortrows(A, 2); % 按第二列升序排序
% B = [3 1 5; 5 2 3; 1 4 2]
```
3. sort函数的降序排列
```matlab
A = [4 2 6 1 3 5];
B = sort(A, 'descend'); % B = [6 5 4 3 2 1]
```
4. sortrows函数的降序排列
```matlab
A = [5 2 3; 1 4 2; 3 1 5];
B = sortrows(A, -2); % 按第二列降序排序
% B = [3 1 5; 5 2 3; 1 4 2]
```
5. sort函数的多列排序
```matlab
A = [4 2 6; 1 4 2; 3 1 5; 1 3 4];
B = sortrows(A, [1 3]); % 按第一列升序排序,当第一列相同时按第三列升序排序
% B = [1 4 2; 1 3 4; 3 1 5; 4 2 6]
```
6. sort函数的按绝对值排序
```matlab
A = [4 -2 6 -1 3 -5];
B = sort(abs(A)); % B = [1 2 3 4 5 6]
```
7. sort函数的按某个函数值排序
```matlab
A = [4 -2 6 -1 3 -5];
B = sort(A, @(x) x^2); % 按元素平方升序排序
% B = [-1 2 3 -5 4 6]
```
8. sort函数的稳定排序
```matlab
A = [3 2 3 1 2 1];
B = sort(A, 'stable'); % 稳定排序
% B = [2 2 1 1 3 3]
```
阅读全文