谢谢讨论。
我说两个事情:
1、你没仔细看我关注的点在哪儿。 我要修改 a(:,n)的元素,但因为前面部分没发生变化,所以我为了提高效率,只修改了a(m:end,n)这部分元素,但比修改 a(:,n)的所有元素还慢;
2、近几年版本里面循环的效率好像并不比所谓的向量化慢太多(你可以举一个五倍的例子),甚至更快了。 我举一个例子
>> tic;sum(1./(1:100000).^2);toc
历时 0.003972 秒。
>> tic;s=0;for i=1:100000,s=s+1/i^2;end;toc
历时 0.001462 秒。
这里可能涉及到开辟内存空间的缘故,数值比较大的时候所谓的向量化反而更慢了。在1000的时候也只有三倍的差距,并没有十几倍的差距。
【 在 zszqzzzf 的大作中提到: 】
: 没有去除不了的for循环。
: arrayfun等速度完全不一样。
:
--
FROM 112.42.70.*