主题: [MATLAB基础] 求助行赋值和列赋值的效率
查看单个帖子
旧 2009-07-26, 10:52   #1
nicholasvan
初级会员
 
注册日期: 2009-02-01
年龄: 38
帖子: 1
声望力: 0
nicholasvan 正向着好的方向发展
默认 求助行赋值和列赋值的效率

各位牛人,我今天用matlab的时候,对以前的一个程序进行了修改,结果发觉运行速度慢了N倍,而我只改动了2行代码,如下:
原来代码:
A=sparse((randperm(K))'<=dgree);
B(:,column)=A;
更改后:
A=sparse(randperm(K)<=dgree);
B(row,=A;
A和B是两个矩阵,其中A是4000*4000的方阵,B是个1*4000的向量,dgree是个数,目的是随机的在A中产生dgree个1。然后我发觉对B赋值,原来的对列赋值效率比下面对行赋值的效率高很多。当我采用循环的时候,发觉一个只要几秒可以完成,另一个却要几千秒。不知道是怎么回事,希望大家可以帮我解答一下。谢谢各位了。
nicholasvan 当前离线   回复时引用此帖