MATLAB排序

在MATLAB中,可以使用sort函数对矩阵进行排序。以下是一些基本用法和示例,帮助你理解如何按特定维度对矩阵进行排序。

1. 基本用法

1.1 对向量排序
A = [3, 1, 4, 1, 5, 9];
B = sort(A); % 默认按升序排序

结果为:

B =  1     1     3     4     5     9
1.2 对矩阵排序

对于矩阵,sort函数会按列进行排序,返回每列的升序排序结果:

A = [3, 1, 4; 1, 5, 9; 2, 6, 5];
B = sort(A); % 对每列排序

结果为:

A =

     3     1     4
     1     5     9
     2     6     5

排序后为: 

B =

     1     1     4
     2     5     5
     3     6     9

2. 按特定维度排序

2.1 按列排序

如果想按列进行排序,可以使用:

B = sort(A, 1); % 第一维(列)排序

结果: 

A =

     3     1     4
     1     5     9
     2     6     5


B =

     1     1     4
     2     5     5
     3     6     9
2.2 按行排序

要按行进行排序,可以使用:

A = [3, 1, 4; 1, 5, 9; 2, 6, 5]
B = sort(A, 2)
A =

     3     1     4
     1     5     9
     2     6     5


B =

     1     3     4
     1     5     9
     2     5     6

3. 返回排序索引

有时候需要获取排序后的索引,可以使用第二个输出参数:

[B, I] = sort(A); % B是排序后的矩阵,I是索引
A =

     3     1     4
     1     5     9
     2     6     5


B =

     1     1     4
     2     5     5
     3     6     9


I =

     2     1     1
     3     2     3
     1     3     2

4. 降序排序

如果需要按降序排序,可以添加'descend'参数:

B = sort(A, 'descend'); % 默认按列降序排序

示例

A = [3, 1, 4; 1, 5, 9; 2, 6, 5];

% 按列升序排序
sorted_columns = sort(A, 1);

% 按行升序排序
sorted_rows = sort(A, 2);

% 按列降序排序
sorted_columns_descend = sort(A, 1, 'descend');

% 返回排序索引
[sorted_A, indices] = sort(A, 1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值