24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1352  |  回复: 1

qinhuafeng

银虫 (正式写手)

[交流] 【求助】matlab 计算时间的问题(tic toc)已有1人参与

本人变了两个函数并分别计算谈的运行时间如下:
tic
T=proposedZernike(40,0,0.90001);
toc
得到时间:0.0071
另一个为
tic
T=proposedZernike1(40,0,0.90001);
toc
得到时间:0.0051
当加上循环时:
tic
for r=1:100
T=proposedZernike(40,0,0.90001);
end
toc
Elapsed time is 0.019677 seconds.

for r=1:100
T=proposedZernike(40,0,0.90001);
end
toc
0.020558 seconds.
也就是说这两个函数当进行单次循环时 proposedZernike比proposedZernike1消耗的时间多;当循环100次时, proposedZernike比proposedZernike1消耗的总时间少
这是为什么?我做了很多试验了,结果都是这样!
请教matlab高手指教!非常感谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

buxiudehun

木虫 (小有名气)


adu886886(金币+1):谢谢提供意见 2010-07-15 14:41:30
引用回帖:
Originally posted by qinhuafeng at 2010-07-14 11:49:15:
本人变了两个函数并分别计算谈的运行时间如下:
tic
T=proposedZernike(40,0,0.90001);
toc
得到时间:0.0071
另一个为
tic
T=proposedZernike1(40,0,0.90001);
toc
得到时间:0.0051
当加上循环时: ...

第一个程序中其实真正用来计算时间的时间是并没有0.0071 秒,而可能大部分时间是用来初始化程序,生成矩阵,申请内存等操作。循环一百次并不是一次时间的一百倍。
2楼2010-07-15 11:35:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qinhuafeng 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见