matlab 如何用sort函数实现sortrows的功能

就是指定列排序,而每一行的数不变

第1个回答  2018-05-17
a=rand(100,100); tic [b,pos]=sort(a(:,1)); aa=a(pos,:); toc tic A=sortrows(a,1); toc det(aa-A) 前面的算法时间要短,效果是一样的 Elapsed time is 0.000110 seconds. Elapsed time is 0.000259 seconds. ans = 0 用个小矩阵检测下 a=magic(5); tic [b,pos]=sort(a(:,1)); aa=a(pos,:) toc tic A=sortrows(a,1) toc det(aa-A) a = 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 aa = 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 17 24 1 8 15 23 5 7 14 16 Elapsed time is 0.000133 seconds. A = 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 17 24 1 8 15 23 5 7 14 16 Elapsed time is 0.000223 seconds. ans = 0本回答被网友采纳

matlab数组排序
首先,`sort`函数是用于对数组进行升序排序的基本工具。简单而直接,适用于单一数组。其次,`sortrows`函数适用于包含多列的矩阵,可以按照指定列的值对矩阵进行排序。若需降序排序,只需在调用`sort`函数时加入`'descend'`参数即可。对于自定义排序规则,`sort`函数提供第三个参数,允许使用自定义比较函数...

matlab 中,怎么让一个矩阵按某一列排列,且行也跟着变动?
可以使用sortrows函数:sortrows(A,k) 将矩阵A按第k列排序,每一行跟着变动。升序排列:[~,I]=sort(A(:,5));%假如对第5列进行升序排列,A=A(I,:);%这样排列就完成了。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视...

在matlab,对一个数列排序后,怎样得到原数列的各个元素在排序后的数列...
在matlab中常用sort函数对数列进行排序 [B,I] = sort(A)这样得到的B序列就是A序列中元素从小到大排列的序列 而sort函数不单只能返回一个序列B,还能返回第二个参数I 这里I就是排序后数列各元素在原序列中的位置,也就是B=A(I);这时候只要再对I排序一次 [C,II]=sort(I)得到的II就是原数列...

matlab 中,怎么让一个矩阵按某一列排列,并且行也跟着变动?
1、打开MATLAB软件,可以使用ortrows函数,在命令行窗口内打入help sortrows,就会出现以下画面,就如下图所示,根据出现的提示进行下一步进程。2、有了函数之后,这时需要创建一个矩阵,矩阵a为3行3列,可以输入“sortrows(a,1)”,就会看到以下画面,如下图所示,这个函数是对整个矩阵按第一列进行升序...

MATLAB中怎么在一个矩阵中加一列
1、在matlab中,将矩阵按某一列排序,主要使用sortrows函数,可以在命令行窗口中输入help sortrows。2、创建一个3行3列的a矩阵,使用“sortrows(a,1)”,对整个矩阵按第一列进行升序排序。3、在命令行窗口中按回车键,可以看到排序的效果。4、如果输入“sortrows(a,2)”就按第二列对矩阵进行排序,...

matlab 排序问题
你好,这个问题可以直接调用Matlab内置函数sortrows完成:A=[1,1,1,1,2,3,4,5;1,5,1,1,1,2,5,5;0,4,2,0,4,4,6,1;1,2,5,7,0,2,5,5 0,8,2,2,2,2,2,2]sortrows(A)

Matlab求助:如何将一个矩阵排序
a=[323 432 232 323 9.2;343 766 323 232 5.3;343 345 454 676 7.9];for i=1:2 for j=1:3-i if a(j,5)>a(j+1,5)b=a(j,5);a(j,5)=a(j+1,5);a(j+1,5)=b;end end end 使用的方法为冒泡排序法。改里面相应的系数,就可以运用于其它排序 ...

matlab对于二维的点向量,X,Y,能不能使用sort方法来对点集在X轴方向上的...
可以 matlab就有sort 直接用就可以

matlab怎么对一个二维数组的第一行按数值大小排序,我希望第二行的各元 ...
matlab有一个sortrows(A,Dim)函数,是指按照矩阵A的某一列(Dim)进行排列,然后其余的列也相应跟着排序,就像excel 中按照某列排序并扩展选定区域一样。你想要实现按行排序,只需将矩阵A转置后排序,再转置回来即可。如下:A = [2 1 4 5; 1 2 3 4; 4 3 2 1];也就是 A = 2 1 ...

在MATLAB里用数值画的曲线怎么求其交点值并让其值在图上显示出来_百度...
P=sortrows(P,1);按横坐标排序 函数到此结束,保存到intp.m文件中 下面是接你的主程序来的,就是添在你画图那段程序后面 XA=AAAA;YA=normpdf(AAAA,AA,AAA);XB=BBBB;YB=normpdf(BBBB,BB,BBB);XC=CCCC;YC=normpdf(CCCC,CC,CCC);P1=intp(XA,YA,XB,YB);A,B交点,调用上面保存的那个intp函数...

相似回答