看全英文帮助没看懂。sort函数其实就是个排序函数。

============================================================

sort(A)若A是向量不管是列还是行向量,默认都是对A进行升序排列。sort(A)是默认的升序,而sort(A,'descend')是降序排序。

sort(A)若A是矩阵,默认对A的各列进行升序排列

sort(A,dim)

dim=1时等效sort(A)

dim=2时表示对A中的各行元素升序排列

看下面的例子

>> A=magic(3)

A =

8 1 6

3 5 7

4 9 2

>> sort(A)

ans =

3 1 2

4 5 6

8 9 7

>> sort(A,1)

ans =

3 1 2

4 5 6

8 9 7

>> sort(A,2)

ans =

1 6 8

3 5 7

2 4 9

===================

Matlab中给一维向量排序是使用sort函数:sort(A),排序是按升序进行的,其中A为待排序的向量;若欲保留排列前的索引,则可用

[sA,index] = sort(A)

,排序后,sA是排序好的向量,index 是 向量sA 中对 A 的索引。 索引使排列逆运算成为可能。

事实上,这里A

≡sA(index) ,

[A恒等于sA(index)],这个结论确实很奇妙,而且很有用。不信你排序之后试下键入命令sA(index) ,看看得到的是不是就是排列前的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是一个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 );

=======================

matlab按某一列排序,其他列不变办法

b=sortrows(a,2) %a

为要排序的矩阵。2表示按第几列进行排序,整数代表升序,负数代表降序。

%将矩阵a按照第2列的升序排列,其他列不会作升序排列,而是将跟随着第2列 的变化,保持一一对应。

b=sortrows(a,-3)

%将矩阵a按照第3列的降序排列,其他列将跟随着第3列 的变化,保持一一对应。

data =

1 3 2

7 6 5

4 9 8

sortrows(data,1)

ans =

1 3 2

4 9 8

7 6 5

sortrows(data,-1)

ans =

7 6 5

4 9 8

1 3 2

一行数据顺序改变函数matlab,MATLAB中的排序函数相关推荐

  1. oracle分类函数总结,oracle中分组排序函数用法

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  2. MATLAB/Simulink中的S函数报错

    关于MATLAB/Simulink中的S函数报错: Output returned by S-function 'xxx' in 'xxx' during flag=3 call must be a ...

  3. SQL中的排序函数【row_number() 、rank() 、dense_rank() 】

    一.SQL中有三种排序函数 1.row_number() over(order by 列名) 2.rank() over(order by 列名) 3.dense_rank() over(order ...

  4. oracle 条件排序函数,oracle中分组排序函数

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  5. python itemgetter函数用法_Python中的sorted函数以及operator.itemgetter函数

    operator.itemgetter函数 operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1, ...

  6. C++中sort()排序函数应用

    ** C++中sort()排序函数应用 ** sort(first_pointer,first_pointer+n,cmp) 该函数可给数组,或者链表list.向量排序. 实现原理:sort并不是简单 ...

  7. Oracle中to_char函数和MySQL中的str_to_date函数区别

    标题Oracle中to_char函数和MySQL中的str_to_date函数 1. str_to_date()----->相当于Oracle中的to_char(): 字符串转换为日期格式 (1 ...

  8. JAVA中的排序函数

    JAVA中的排序函数包括java.util.Arrays包中的Arrays.sort();java.util.Collections包中的Collections.sort() 1.Arrays.sor ...

  9. python中从小到大排序的函数_深入理解Python中的排序函数

    由于 Python2 和 Python3 中的排序函数略有区别,本文以Python3为主. Python 中的排序函数有 sort , sorted 等,这些适用于哪些排序,具体怎么用,今天就来说一说 ...

  10. python文件定位函数_C语言中文件定位函数总结

    C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...

最新文章

  1. Oracle分组取出每组的第一笔数据
  2. @PathVariable详解
  3. boost::mp11::mp_transform_q相关用法的测试程序
  4. 《统计学习方法》—— 逻辑斯谛回归 与 最大熵模型 的介绍以及详细推导
  5. 线性回归、bagging回归、随机森林回归
  6. 15个网页数据采集中最常遇到的问题(干货)
  7. wps打印预览工具栏消失_在WPS电子表格中看不到打印预览怎么办?
  8. 小程序长按图片识别二维码
  9. mysql 不等于 符号写法
  10. netty实现http服务器
  11. 华为云访问密钥AK\SK获取
  12. Code Project
  13. 30个计算机相关的英语词汇,计算机应用常用英语词汇30
  14. Hexo建站总结 Github静态网页
  15. vim快捷键(一)查找与替换
  16. 避坑14_此浏览器或应用可能不安全。了解详情请尝试使用其他浏览器。
  17. STM32主从模式 精确脉冲数PWM (已实现)
  18. 十二步解N-S方程之第四步
  19. 学习Java第二十四天
  20. RTC电路锂电池耗电过快的问题

热门文章

  1. Linux 如何查看文件夹的大小(du、df、ls、find)
  2. python中数组,列表和集合的区别
  3. 概率图模型(快速入门必备)
  4. etc/fstab 文件详解
  5. 导频矢量推导与离散信号傅里叶变换
  6. 微信H5开发缓存问题解决
  7. CAD门窗lisp_门窗CAD大样图
  8. 解决redis 配置文件设置密码不生效的问题
  9. 接触Firefox的xpi
  10. 可以获得高排名的B2B平台大全