请问怎么根据sort函数得到的索引来娑杂Φ耐计matlab?

怎么根据sort函数得到的索引来娑杂Φ耐计matlab


慕容3067478
浏览 520回答 7
7回答

守着星空守着你

怎么根据sort函数得到的索引来娑杂Φ耐计matlab给你举了例子:X=magic(5)X=17241815235714164613202210121921311182529>>[a,b]=sort(X,2)a=18151724571416234613202231012192129111825b=3451223451123455123445123结果解释:a是原来的矩阵x按照行,每行从小到大重新排列得到的新矩阵。b告诉你重排的详细信息,也就是做了什么样的变动。例如b的第一行显示34512,那么将原矩阵X的第一行的第34512个元素取出来,顺次排列,就变成a矩阵的第一行

慕斯王

sort函数执行时,会依次循环把数组里的两个数传递给函数f,这时候f的参数a和b就分别是传入的两个数,然后分别求出a和b除以2的余数(实际上就是判断a和b是奇数还是偶数,0是偶数,1是奇数)。如果a是偶数,函数f就返回1(或其他任何大于0的数),如果a是奇数且b是偶数就返回-1(或其他任何小于0的数)。sort函数根据f的返回值来对两个数进行排序,如果是大于0的数,就把两个数的值对调,如果是0或小于0的数则不做任何处理。这样的话,当数组中的所有元素都两两处理完毕后,最终就会形成奇数在前偶数在后的情况了

梵蒂冈之花

排序过程其实就是按顺序取两个元素比较大小 以此作为排序标准m n可以理解为每次从a数组中取的两个元素 差值为正 则表示a大 排序结果就是由大到小排序换成n-m就是由小到大排序 可以这样记住(原因在于排序算法内部,我们只要知道如何用就好)

慕的地10843

就是数组的前后两个元素sort方法中的函数返回负数表示m小于n,返回0表示等于,返回正数表示大于

繁花如伊

函数原型:bool sort(array &$array[,int $sort_flag])函数作用:对数组$array进行升序排列,排序后数组$array的键将被删除,而且值将按照从小到大的顺序重新排列。排序成功返回true,排序失败返回false.至于函数原型中的[]表示参数项可选。升序排列是指动小到大的排列方式,对于数值来说直接很好理解,对于字符或者字符串来说则是按照a-z的顺序。函数中的两个参数,$array代表要排序的数组,前面加了运算符&,表示参数是引用传递。参数$sort_flag用于指定排序的类型。对于以下代码:<?php$varSort = array("a" => "cat" , "b" => "mouse" , "c" => "dog"); //定义数组包含3个元素,均为字符串类型sort($varSort);//对数组排序print_r($varSort);//输出?>以上代码输出结果是这样的:Array ( [0] => cat [1] => dog [2] => mouse )因为此函数排序是从小到大的顺序排列,对于字符串就是按照a-z的顺序排列,所以得到的值的顺序分别为cat(c开头),dog(d开头),mouse(m开头)而且此函数排序会删除原有的键值,所以排序后键值为0,1,2

HUX布斯

建议看php手册英文版的。中文版是翻译过来,一些内容可能未包罗。1、php手册里关于sort函数的说明:// sort_flags 默认值是SORT_REGULARbool sort( array&$array [, int $sort_flags = SORT_REGULAR ] )2、升序可以这么理解,按照字符的编码来排序,或者说是按照ascii码来排序的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery