MATLAB中的排序函数

 

全英文帮助没看懂。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 =
             2
             5
             8

sortrows(data,1)
ans =
             2
             8
             5

sortrows(data,-1)
ans =
             5
             8
             2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django启动服务器时,报错mysql的2059错误的原因。

当启动django自带的服务器时,报错2059:> _mysql_exceptions.OperationalError: (2059, )> django.db.utils.OperationalError: (2059, )启动方式为如下:> python manage.py runserver 0.0.0.0:8000经过一番查询,调试&…

2020地区mysql表_2020年甘肃省军队文职考试职位表下载:张掖地区招13人

2020年6月15日全军面向社会招考文职人员公告已发布,全国招聘27073人,甘肃省招聘370人,其中张掖地区总共招聘13人。此次考试博士招考岗位报名时间为2020年6月17日至21日,其他招考岗位报名时间为7月1日至10日。考试时间为2020年8月2…

superhot预告片下载_预告片:裸指关节SOA

superhot预告片下载我正在研究这个想法,但我不知道它是否对你们有吸引力。 我想就您是否需要进一步探讨提出您的意见。 这是一笔交易:我遇到了一些团队,这些团队在使用SOA技术时由于其工具的绝对复杂性而陷入泥潭。 我只在Java中看到过这种情…

J2ME开发环境配置(MyEclipse插件+WTK+jdk)

Myeclipse J2ME开发之环境配置的前言随着移动设备的普及和应用,在小型存储设备方面的研发进入了一个全新的时期,比如数字电视,PDA,移动存储通信设备等。而各方面的技术也进入了一个飞速发展的时期。尤其是近几年J2ME技术的发展。   而开发…

多少秒算长镜头_下中国象棋,能算多少步才算高手?

下象棋,你能算多少步?这是一个让初学者很困扰,也很感兴趣的话题。 很多象棋爱好者说:我最多看2步,我觉得能看5步以上的,就是超级高手高手高高手了。 但一代象棋宗师、14届全国冠军胡荣华的看法则颇有“玄学…

[湖南师大集训2018 7 26] hunger 解题报告 (SPFA)

饿 (hungry.pas/c/cpp) 【背景描述】 给出?个面值分别为?? 的纸币,每种纸币有无限张。另有?次询问,每次询问一个价格?,问用若干张纸币是否可以恰好得到?。 【输入格式】 第一行两个整数?,?。 接下来一行?个整数&#xff…

对基于消息队列的Activiti异步执行器进行基准测试

一点历史 永不停息​​的一件事是,Activiti如何以惊人的规模在一些大型组织中使用。 过去,这导致了各种优化和重构,其中包括异步执行器-替换旧的作业执行器。 对于未启动的用户:这些执行器在流程实例中处理计时器和异步继续。 特别…

最大公约数最小公倍数

最大公约数:(用辗转相除法)int cd(int x, int y) { int m, n, t; if(x > y) {m x; n y; } else { m y; n x; } while(m % n ! 0) { t n; n m % n; m t; } return n; }最小公倍数 x*y/最大公约数。

ACM网站

中国: 南阳理工http://acm.nyist.net/JudgeOnline/problemset.php 浙江大学 http://acm.zju.edu.cn 北京大学 http://acm.pku.edu.cn/JudgeOnline 天津大学 http://acm.tju.edu.cn 厦门大学 http://acm.xmu.edu.cn/JudgeOnline 福州大学 http://acm.fzu.edu.c…

2020德勤面试开始了吗_2020公务员面试公告已出,5月28日开始面试

重磅!上海市2020年度考试录用公务员职位报名及面试工作公告出了!报岗时间:2020年5月11日10:00至5月15日18:00岗位调剂:2020年5月18日10:00至5月20日18:00面试时间:2020年5月28日至6月1日面试时需携带哪些证件和材料?答…

JavaScript 常用内置对象(字符串属性、Math对象、Array数组对象)

1.字符串属性<script>var test_var "I Iove you";console.log(test_var.charAt(3)) //charAt(n) &#xff1a;返回该字符串第 n 位的单个字符。&#xff08;从 0 开始计数&#xff09; console.log(test_var.charCodeAt(2)); //charCodeAt(n) &#xff1a;返回…

阿米洛键盘取消win_阿米洛花旦娘静电容V2键盘测评:不止是一把好看的键盘

文丨me王bigfun社区原文地址&#xff1a;【开箱/测评】阿米洛花旦娘静电容V2键盘&#xff0c;不止是一把好看的键盘 - bigfun序&#xff1a;我想要换一把好的键盘&#xff0c;因为这把雷柏的V500键盘已经跟了我4年&#xff0c;现在的它又老又丑&#xff0c;抚摸起来的手感还很生…

NY : 括号匹配问题

括号配对问题 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;3描述现在&#xff0c;有一行括号序列&#xff0c;请你检查这行括号是否配对。 输入第一行输入一个数N&#xff08;0<N<100&#xff09;,表示有N组测试数据。后面的N行输入多…

【代码笔记】Web-ionic-select

一&#xff0c;效果图。 二&#xff0c;代码。 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>Todo</title> <meta name"viewport" content"initial-scale1, maximum-scale1, user-scalableno…

adf开发_ADF:动态视图对象

adf开发今天&#xff0c;我想写有关动态视图对象的信息&#xff0c;该对象允许我在运行时更改其数据源&#xff08;SQL查询&#xff09;和属性。 我将使用oracle.jbo.ApplicationModule :: createViewObjectFromQueryStmt方法来解决此问题。 我将逐步介绍如何执行此操作 创建…

stm32f407能跑linux吗_跑步能跑进医院?那我该做跑步运动吗?想健康一点太难了...

跑步能跑进医院&#xff1f;那我该做跑步运动吗&#xff1f;想健康一点太难了&#xff0c;小编学生时期最喜欢的课程永远都是体育课&#xff0c;但最头疼的项目却是磨人的800米和1000米&#xff0c;那简直是我的的噩梦&#xff0c;近日&#xff0c;西安一名初中生跑步居然跑进了…

ACM进阶计划

ACM队不是为了一场比赛而存在的&#xff0c;为的是队员的整体提高。 大学期间&#xff0c;ACM队队员必须要学好的课程有&#xff1a; l C/C两种语言 l 高等数学 l 线性代数 l 数据结构 l 离散数学 l 数据库原理 l 操作系统原理 l 计算机组成原理 l 人工智能 l 编译原理 l 算法设…

关于真随机数生成器

有关如何产生随机数的理论有许多&#xff0c;如果要详细地讨论&#xff0c;需要厚厚的一本书的篇幅。 有限状态机不能产生真正的随机数的&#xff0c;所以在现在的计算机中并没有一个真正的随机数生成算法&#xff0c;现有的随机数生成算法生产的随机数只不过因为重复的周期比…

60秒内使用Java 9的Project Jigsaw的JavaFX HelloWorld

到目前为止&#xff0c;您可能已经听说过Java 9的新模块系统&#xff0c;即项目Jigsaw。 如果您不了解Java 9的新模块系统&#xff0c;则应访问Mark Reinhold的论文“模块系统的状态” 。 此外&#xff0c;您还应该访问nipafx Nicolai Parlog的出色博客&#xff0c; 网址为http…