一.问题来源

  返回检索到的数据(按相关度排序)在原始数据中的索引。

二.问题解析

  x = [1 4 3 5; 1 3 2 6];sortrows(x)其结果是按照row来排列,默认首先排第一列,1和1一样大,那么排第二列,3比4小,所以1 3 2 6应该在第一行。假如使用sortrows(x, 4)那么结果中首先看第4列的大小,5比6小,那么原来的顺序就对了,如果是x = 1 2 3 61 2 3 5那么,sortrows(x, 4)之后,由于第4列的5比6小,那么,1 2 3 5应该排到前面。类似于姓名的排列,如果第一个字母一样,那么按照第二个字母排,第二个一样,就按第三个排,只不过这里可以规定顺序,就是首先按哪个排,然后在按哪个排。
  或是从某一列开始比较数值并按升序排序,例:C = sortrows(A,2)。
  亦可以从某一列开始以降序排列,例:D = sortrows(A, -4)。
  如果要求每一列都按照升序排列E=sort(A)如果要求每一列都按照降序排列F=-sort(-A)。

A =
1 5 9
2 1 6
3 5 8
>> sortrows(A,[2 3])
ans =
2 1 6
3 5 8
1 5 9

  先按第二列排,如果第二列中有相等的行(例子中的第二行,第三行),再按第三列排(第二列固定不动,按第三列的升序排列,第一行的值跟随第三行变化),这里的【2 3】并不是一个矩阵值的位置,而是第二行与第三行的意思,同理,

A =
1 5 9
2 1 8
3 5 8 sortrows(A,[2 3 1])
ans =
2 1 8
3 5 8
1 5 9

  先按2排,再按3按(两个5),最后按1排(两个8)。如果没有相同的值,无论sortrows(A,[x y])中的y真如何变化,结果都是一样的,等同于sortrows(A,x)。

  参考:百度知道,ILOVEMatlab 。

Matlab中sortrows函数解析的更多相关文章

  1. 【原创】Matlab中plot函数全功能解析

    [原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 ...

  2. Matlab中plot函数全功能解析

    Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName ...

  3. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  4. matlab中subplot函数的功能

    转载自http://wenku.baidu.com/link?url=UkbSbQd3cxpT7sFrDw7_BO8zJDCUvPKrmsrbITk-7n7fP8g0Vhvq3QTC0DrwwrXfa ...

  5. matlab 中max函数用法

    Matlab中max函数在矩阵中求函数大小的实例如下:(1)C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的 ...

  6. matlab中cumsum函数

    matlab中cumsum函数通常用于计算一个数组各行的累加值.在matlab的命令窗口中输入doc cumsum或者help cumsum即可获得该函数的帮助信息. 格式一:B = cumsum(A ...

  7. 『转载』Matlab中fmincon函数获取乘子

    Matlab中fmincon函数获取乘子 一.输出结构 [x,fval,exitflag,output,lambda] = fmincon(......) 二.结构说明 lambda结构 说     ...

  8. matlab中norm函数的用法

    格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM   Matrix or vecto ...

  9. matlab中fprintf函数的具体使用方法

    matlab中fprintf函数的具体使用方法实例如下: fprintf函数可以将数据按指定格式写入到文本文件中.其调用格式为: 数据的格式化输出:fprintf(fid, format, varia ...

随机推荐

  1. Linux 命令 - fg & bg: 将进程切换到前台(后台)运行

    后台运行的进程不会受到任何键盘的影响,包括试图用来中断它的 Ctrl-C 键.想要使得进程返回到前台来运行,可以使用 fg 命令来实现. 可以通过在 fg 命令后面加上百分比符号和作业编号(称为 jo ...

  2. 有些方法为什么会声明称static静态的

    有些方法在调用的时候,没有必要都要先实例化一下,只需要:[类名. 静态方法 ]就行了. 哪些方法的调用没有必要实例化呢?网上找了个例子: 举个例子:Car类,1.静态方法Run(),Car.Run() ...

  3. Android Support v4,v7,v13

    Android Support v4 是最早(2011年4月份)实现的库.用在Android1.6 (API lever 4)或者更高版本之上.它包含了相对V4, V13大的多的功能. 例如:Frag ...

  4. Android--仿QQ侧滑菜单

    首先还是先看一下效果图吧,这个示例在网上能找到很多,我主要在此是做一个小结和一些代码的分析,当是自己在学习过程中的一个积累,因为网上同样的文章很多,所以也无法探究最初的来源是哪里了. 我们可以从效果图 ...

  5. 如何用代码开启“个人热点”功能?如何用代码把iOS设备设置成一个无线路由?

    不好意思,你办不到.苹果不允许.因为你没有权限.

  6. Mysql增加主键或者更改表的列为主键的sql语句

                                                                                                        ...

  7. 问题解决:两台虚拟机不能互相ping通的原因

    要是两台虚拟机能够PING通下列要求缺一不可:1.你所设置的虚拟网络的网络号不能跟外面你正在使用的真实的网络号一样2.防火墙必须关闭3.你设置的那俩台虚拟机必须在同一网段内4.两台虚拟机的主机名不能相 ...

  8. HDU 2340 Obfuscation(dp)

    题意:已知原串(长度为1~1000),它由多个单词组成,每个单词除了首尾字母,其余字母为乱序,且句子中无空格.给定n个互不相同的单词(1 <= n <= 10000),问是否能用这n个单词 ...

  9. C++ 的隱式型別轉換

    先上一段代碼, 這段代碼竟然可以編譯過,我的老天! class Boo { Boo(int c){ cout << "I'm Boo"; } }; void do_so ...

  10. Bugzilla+MySql+IIS+ActivePerl搭建指南

    头在忙着他的技术研究,对团队建设.测试管理.流程规范都不怎么理会,眼见着产品进入后期整合阶段,在测试过错中出现很多Bug,单靠着我一个人用txt来收集整理bug需求,然后整理成word,放在svn上面 ...