标题:看看matlab内置函数的效率
只看楼主
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
得分:0 

还有,我在2楼已经说的,三个程序段执行顺序不一样,变化很大.for→while→sum的顺序,出来的时间是:
use for
Elapsed time is 1.969000 seconds.
use while
Elapsed time is 2.438000 seconds.
use sum
Elapsed time is 0.046000 seconds.
如果是sum→for→while的顺序,出来的时间是
use for
Elapsed time is 0.015000 seconds.
use while
Elapsed time is 0.016000 seconds.
use sum
Elapsed time is 0.047000 seconds.
这两种情况都是把程序存在m文件中执行的,如果你直接全部复制到命令窗中执行的话,就算是
sum→for→while的顺序,时间也很大
use sum
Elapsed time is 0.047000 seconds.
use for
Elapsed time is 1.297000 seconds.
use while
Elapsed time is 3.094000 seconds.
大胆的猜想下楼主大概时间就是这样得到的.不过这应该不准.
把三个程序段扔到三个文件里分别执行得到的答案应该是最准确的:
use sum
Elapsed time is 0.047000 seconds.
use for
Elapsed time is 0.015000 seconds.
use while
Elapsed time is 0.016000 seconds.
虽然我说不出什么道理,但实践了很多次,事实就是如此



OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2006-06-13 21:03
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 

呵呵,不行啦,我这里for循环竟然运行时间时而为0,时而为0.016,反而sum用的时间最多

可能这样的检测方法不对,因为sum中分配的内存空间太多了。


此人已消失
2006-06-13 22:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-71771-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.095441 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved