matlab里sort函数对向量降序,matlab基本函数sort

本文详细介绍了MATLAB中的排序函数sort的用法,包括对向量、矩阵和多维数组的排序,以及如何指定排序方向和获取排序索引。通过多个实例展示了sort函数在不同应用场景下的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一起来学演化计算-matlab基本函数sort

觉得有用的话,欢迎一起讨论相互学习~Follow Me

sort

对数组元素排序

语法

B = sort(A) 按照大小不等于1的第一个数组维度对A的元素按升序排序

如果A是一个向量,那么sort(A)对向量元素进行排序

如果A是一个矩阵,那么sort(A)将A的列作为向量,并对每一列进行排序

如果A是一个多维数组,那么sort(A)沿着大小不等于1的第一个数组维度操作,将元素视为向量。

B = sort(A,dim)

返回沿维度dim的已排序元素。例如,如果A是一个矩阵,那么sort(A,2)对每一行中的元素进行排序

B = sort( ___ ,direction) 返回使用前面任何语法按方向指定的顺序排序的元素。单字符串“ascend”表示升序(默认情况下),“descent”表示降序。

[B,I] = sort( ___ ) 返回以前任何语法的索引向量集合。I的大小与A相同,描述了A的元素沿排序维数排列成B的情况。例如,如果A是一个数值向量,B = A(I)。即 返回排序后元素的索引

示例

按升序排列向量

创建一个行向量,并按升序对其元素排序

A = [9 0 -7 5 3 8 -10 4 2];

B = sort ()

B =

-10 7 0 2 3 4 5 8 9

对矩阵中的行做升序排列

A = [3 6 5; 7 -2 4; 1 0 -9]

A =

3 6 5

7 -2 4

1 0 -9

B = sort(A,2)

B =

3 5 6

-2 4 7

-9 0 1

对矩阵中的列按降序排列

A = [10 -12 4 8; 6 -9 8 0; 2 3 11 -2; 1 1 9 3]

A =

10 -12 4 8

6 -9 8 0

2 3 11 -2

1 1 9 3

B = sort(A,'descend')

B =

10 3 11 8

6 1 9 3

2 -9 8 0

1 -12 4 -2

排序并索引日期数组

创建一个datetime值数组,按升序排序,即从最早的日历日期到最近的日历日期

ds = {'2012-12-22';'2063-04-05';'1992-01-12'};

A = datetime(ds,'Format','yyyy-MM-dd')

A =

2012-12-22

2063-04-05

1992-01-12

[B,I] = sort(A)

B =

1992-01-12

2012-12-22

2063-04-05

I =

3

1

2

B列出了排序后的日期,I包含了A对应的索引。使用索引数组I直接访问原始数组中已排序的元素

A(I)

ans =

1992-01-12

2012-12-22

2063-04-05

3-D数组排序

创建一个2×2×2的数组,并沿着第三维按升序排列其元素

A(:,:,1) = [2 3; 1 6];

A(:,:,2) = [-1 9; 0 12];

A

A(:,:,1) =

2 3

1 6

A(:,:,2) =

-1 9

0 12

B = sort(A,3)

B(:,:,1) =

-1 3

0 6

B(:,:,2) =

2 9

1 12

% 使用A(:),表示对A的所有元素进行排序

B = sort(A(:))

B =

-1

0

1

2

3

6

9

12

输入参数

424dbe0258853eee6e49e2b18ea45387.png

输出参数

07fca99398affaab945155b044b9d468.png

原文:https://www.cnblogs.com/cloud-ken/p/11259385.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值