shuidixn 发表于 2011-7-1 10:59

matlab 循环的问题

本帖最后由 shuidixn 于 2011-7-1 10:59 编辑

nh=100000;
T01=abs(Te1);
s1=0;
for q=1:nh-1;
    if T01(q+1)<=T01(q)&&T01(q+1)<=T01(q+2);
      s1=s1+1;
      enern1 (s1)=enerN1(q+1);
      te1 (s1)=Te1(q+1);
       t01 (s1)=T01(q+1);
       Q1 (s1)=q+1;
    end
end
上述橙色部分显示:“ ”might be growing inside a loop.Consider preallocating for speed.
对matlab还不是很熟悉,请高手提示一下这个该怎么改?谢谢

ChaChing 发表于 2011-7-1 14:57

回复 1 # shuidixn 的帖子

就是在for loop前, 先给定变数的大小, 速度会较快些
看看精华老帖, LZ应该就会有所体会

shuidixn 发表于 2011-7-1 17:36

回复 2 # ChaChing 的帖子

您的意思就是我先估计着大体上给变数赋个值?我待会去查下精华帖,非常感谢

ChaChing 发表于 2011-7-2 00:10

本帖最后由 ChaChing 于 2011-7-2 00:11 编辑

回复 3 # shuidixn 的帖子

是的, 大体上给变数赋个值(零值)!
发现LZ已经有查精华帖了, 下午时间较匆促些, 没空给连接
Ref:[原创] 提高matlab运行速度的一点心得 http://forum.vibunion.com/thread-25305-1-1.html
[原创] 提高matlab运行速度的一点心得(之二) http://forum.vibunion.com/thread-26449-1-1.html
[原创]提高matlab运行速度和节省空间的一点心得(之三) http://forum.vibunion.com/thread-33199-1-1.html
matlab矢量化编程技巧集锦 http://forum.vibunion.com/thread-41583-1-1.html
from http://forum.vibunion.com/home-space-uid-63979-do-blog-id-18250.html

shuidixn 发表于 2011-7-2 22:06

回复 4 # ChaChing 的帖子

多谢多谢,从中学到了很多东西
页: [1]
查看完整版本: matlab 循环的问题