sort函数的调用格式:
sort(X)   功能:返回对向量X中的元素按列升序排列的新向量。
[Y, I] = sort(A, dim, mode) 功能:对矩阵A的各列或各行重新排序,I记录Y中的元素在排序前A中位置,其中dim指明读A的列还是行进行排序。若dim=1,则按列排序;若dim=2,则按行排序。mode为排序的方式,取值'ascend'为升序,'descend'为降序。
B = sort(A)   %沿着输入参量 A的不同维的方向、从小到大重新排列 A中的元素。A 可以是字符串的、实数的、复数的单元数组。对于 A 中完全相同的元素,则按它们在 A 中的先后位置排列在一块;若 A 为复数的,则按元素幅值的从小到大排列,若有幅值相同的复数元素,则再按它们在区间[-π ,π ]的幅角从小到大排列;若 A 中有元素为NaN,则将它们排到最后。若 A为向量,则返回从小到大的向量,若A为二维矩阵,则按列的方向进行排列;若A为多维数组,sort(A)把沿着第一非单元集的元素像向量一样进行处理。
B=sort(A,dim) %沿着矩阵A中指定维数dim方向重新排列A中的元素。
[B,IX]=sort(A); %其中IX是一个大小等于size(A)的数组,其每一列是A中列向量的元素相对应的置换位置记号。
在Matlab中排序某个向量(一维)时,可以使用sort(A),其中A为待排序的向量,如果仅是用来排序A,那么直接使用sort(A)即可,如果排序后还需要保留原来的索引可以用返回值,即[B,ind]=sort(A),计算后,B是A排序后的向量,A保持不变,ind是B中每一项对应于A 中项的索引。排序是安升序进行的。在Matlab中,访问矩阵中的元素,一维用A(1)访问向量A的第一个元素;(下标从1开始);二维用A(1,2)访问A中第一行,第二列的元素。由于在sort函数的结果中,是安升序排序的,要转换成降序,先用X=eye(n)生成一个n维的单位阵,然后用X=rot90(X)将其旋转为次对角线的单位阵,再用原来矩阵乘以X即可,如要讲A逆序排列采用如下步骤:
X=eye(size(A));
X=rot90(X);
A=A*X;
上述降序办法不好。
简单好用的是:A=-sortrows(-A',第几行);A=A';
假如a是一个2*n的矩阵,即两行.
b=a(1,:);
[c,pos]=sort(b); %pos为排序后的下标,c为第一行的排序结果
a(2,:)=a(2,pos); %第二行按照第一行排序的下标对应
a(1,:)=c; %第一行结果重新赋给a 的第一行
以下适用于m*n的矩阵按第一行排序
[ b, pos ] = sort( a( 1, : ) );
a = a( :, pos );X=magic(5)
X =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9>> [a,b]=sort(X,2)a =
1 8 15 17 24
5 7 14 16 23
4 6 13 20 22
3 10 12 19 21
2 9 11 18 25b =
3 4 5 1 2
2 3 4 5 1
1 2 3 4 5
5 1 2 3 4
4 5 1 2 3结果解释:
a是原来的矩阵x按照行,每行从小到大重新排列得到的新矩阵。
b告诉你重排的详细信息,也就是做了什么样的变动。
例如b的第一行显示3 4 5 1 2,那么将原矩阵X的第一行的第3 4 5 1 2个元素取出来,顺次排列,就变成a矩阵的第一行。sort(X,2) 和sort(X,1)分别意思如下举例:A = [ 3 3 5
0 4 2 ];
sort(A,1) %纵向排列
ans =0     3     2
3     4     5
sort(A,2) %横向排列
ans =3     3     5
0     2     4
>>A = [-1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i];
>>[B1,INDEX] = sort(A)
计算结果为:
B1 =
Columns 1 through 4
-0.2000      -1.9000       3.1416         2.4000 + 3.6000i
Columns 5 through 6
5.6000      7.0000
INDEX =
2     1     3     6     4     5
由此可知,如果A与另一个矩阵C(char或cell)一一对应,如果用[B1,INDEX] = sort(A)对A进行排序,则可以取得索引INDEX,进而可以查询B1中每个元素与C中哪一个对应。

转载于:https://blog.51cto.com/cathyyoung/1540163

MatLab的排序函数-sort相关推荐

  1. R语言数据排序函数sort, order rank实战

    R语言数据排序函数sort, order & rank实战 目录 R语言数据排序函数sort, order & rank实战 #sort vs. order vs. rank函数基础 ...

  2. C++ 排序函数 sort(),qsort()的用法

    想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~ 所以自己总结了一下,首先看sort函数见下表: 函数名 功能描述 sort 对给定区 ...

  3. matlab排序函数——sort

    直接对某一向量进行排序B=sort(A),得到的B就是对A升序排序的结果: B=sort(A,'descend'),是对A进行降序排序的结果 [B,C]=sort(A),B是对A中元素进行升序排序的结 ...

  4. python 排序函数 sort sorted 简介

    sort() 是Python列表的一个内置的排序方法,list.sort() 方法排序时直接修改原列表,返回None: sort() 是Python内置的一个排序函数,它会从一个迭代器返回一个排好序的 ...

  5. 指针:调用自定义排序函数sort,对输入的n个数进行从小到大输出。

    Description 自定义函数sort(int *p, int n),功能是对n个数排序.在main函数中,调用它,对输入的任意个数排序. Input 多组测试数据,先输入n(n<100), ...

  6. 排序函数(sort()、sorted()、argsort()函数)

    python的内建排序函数有 sort.sorted两个. 1.基础的序列升序排序直接调用sorted()方法即可 1 ls = list([5, 2, 3, 1, 4]) 2 new_ls = so ...

  7. python 数组排序sort_Python之排序函数sort() 和 sorted()

    sort() 是Python列表的一个内置的排序方法,list.sort() 方法排序时直接修改原列表,返回None: sort() 是Python内置的一个排序函数,它会从一个迭代器返回一个排好序的 ...

  8. php中asort 排序语句,php中的几个经典排序函数(sort,asort,ksort等)

    1 2 3 4 5 6 7 8sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort() 函数用于对数组单元从低到高进行排序并保持索引关系 ...

  9. 排序函数 sort()、sorted()、argsort()函数

    sort()函数 python的内建排序函数有 sort.sorted两个.而sort ()可以直接对列表进行排序 用法:list.sort(func=None, key=None, reverse= ...

最新文章

  1. 河南省第二届ACM程序设计大赛解题报告(置换群)
  2. 互联网寒冬裁员潮,这些人可能有点慌!
  3. python三维图的坐标_六维图见过么?Python 画出来了
  4. javascript:12种JavaScript MVC框架之比较
  5. mybatis学习8之缓存
  6. 为iptables开放新的网络端口
  7. 智能情绪分析技术_情绪转变令市场再次修正 Justforex:欧元、英镑、日元、黄金技术分析...
  8. python文件合法模式组合_python设计模式之组合模式
  9. Sql Server发布订阅如何添加新表如何不初始化整个快照
  10. div中内部div横向布局
  11. 10 Love Quotes Touch Your Soul at First Sight
  12. PHP的图片等比缩放
  13. 杭州互联网公司和生活成本
  14. 金融计量模型(十一):对波动率和相关性建模
  15. 国际足联还不考虑在中国办一届世界杯吗?
  16. 2021朝阳启声学校高考成绩查询,梦在前方 路在脚下 ———潮阳启声学校2019届高考80天誓师大会...
  17. 颠覆思维,你也能懂量子力学
  18. 不浪费原料的汉堡制作方案--贪心算法
  19. 编写一个触发器:当修改一个学生专业的时候(转专业),则自动将本学期新专业同学全都选修的课程给该同学选修
  20. 【智能驾驶】最全、最强的无人驾驶技术学习路线

热门文章

  1. 英特尔玩VR有多认真?看看Project Alloy的细节就知道了
  2. 读书笔记——第八周学习笔记
  3. Python 实现队列
  4. Oracle之pl/sql编程(一)函数,过程,包
  5. linux系统监控命令汇总
  6. 2017安防市场新趋势:硬件免费 服务收费
  7. UVa 642 - Word Amalgamation
  8. 《Cisco安全防火墙服务模块(FWSM)解决方案》——2.7 软件架构
  9. PgSQL · 应用案例 · 聚集存储 与 BRIN索引
  10. nginx lua获取客户端ip