Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-02-01
年龄: 38
帖子: 1
声望力: 0 ![]() |
![]()
各位牛人,我今天用matlab的时候,对以前的一个程序进行了修改,结果发觉运行速度慢了N倍,而我只改动了2行代码,如下:
原来代码: A=sparse((randperm(K))'<=dgree); B(:,column)=A; 更改后: A=sparse(randperm(K)<=dgree); B(row, ![]() A和B是两个矩阵,其中A是4000*4000的方阵,B是个1*4000的向量,dgree是个数,目的是随机的在A中产生dgree个1。然后我发觉对B赋值,原来的对列赋值效率比下面对行赋值的效率高很多。当我采用循环的时候,发觉一个只要几秒可以完成,另一个却要几千秒。不知道是怎么回事,希望大家可以帮我解答一下。谢谢各位了。 ![]() |
![]() |
![]() |