matlab中sort的函数怎么实现像excel中使一个MXN的矩阵按照第一列排序,然后其他列跟着变化?

 我来答
dbb627
2011-09-26 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2127
采纳率:88%
帮助的人:1405万
展开全部
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
victoriajll
2011-09-26 · TA获得超过4884个赞
知道大有可为答主
回答量:654
采纳率:100%
帮助的人:1055万
展开全部
>> A=[1:4;5:8;2:5]

A =

1 2 3 4
5 6 7 8
2 3 4 5

>> sortrows(A,1)

ans =

1 2 3 4
2 3 4 5
5 6 7 8
追问
这个我知道,但计算速度较慢,我需要一个计算速度较快的,望指点
追答
它既然能作为系统内置函数存在,已经能说明它有一定的优势,我们自己编的话能快过他吗,说实话有内置函数还是用内置函数的好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式