仪器社区

matlab中tic和toc问题,为什么明显不对?

pan1093 2009-03-04
我用tic和toc计算程序运行时间,为什么明明有100多seconds,但结果却显示0.093seconds,明显不对啊!? 但是,对于简单的程序,我用pause()命令试验都是正确的 为什么我的程序运行后就不行? 请高手指点 谢谢!
评论
全部评论
月夜火牙
验证程序1:
tic; t1=clock;
for i=1:3
tic ;t2=clock;
k=0;
for j=1:2
k=k+i*j;
pause(0.5)
end
disp('运行时间:');
toc; etime(clock,t2)
end
disp('总时间:');
toc;etime(clock,t1)

验证程序2
tic
puase(0.5)
toc
puase(0.5)
toc
puase(0.5)
toc
puase(0.5)
toc

Z后查看运算结果。
18 0 2016-04-16 0条评论 回复
周先生面吧
做个时间长的试试,比如连加到100万
8 0 2009-03-05 0条评论 回复
丹妮未知
运行前后的显示占用时间,当程序执行时,其中间的计算可能花费的时间并不多。
10 0 2009-03-05 0条评论 回复
qiyuming7
你是不是在循环体里面加tic了啊。
14 0 2009-03-05 0条评论 回复
宋欣冉宝贝
每一次遇toc时,程序自动计算toc和Z近一次的tic之间的时间

下面的”运行时间“,能够正常实现,是正确的
但是”总时间“是错误的,总时间计算的是,Z后一次for j=1:2循环的tic到Z后的toc之间的时间,也就是我在上面说的toc是计算与Z近一个tic直接的时间,而Z近一个tic就是Z后一次循环中出现的tic

我们可以使用下面的程序进行验证
tic; t1=clock; for i=1:3
tic ;t2=clock; k=0; for j=1:2
k=k+i*j; pause(0.5)
end
disp('运行时间:'); toc; etime(clock,t2)
end
disp('总时间:'); toc;etime(clock,t1)

还有一个验证是
tic puase(0.5)
toc puase(0.5)
toc puase(0.5)
toc puase(0.5)
toc
16 0 2015-07-30 0条评论 回复
死神少宇
tic和toc的用法说明如下

每一次遇toc时,程序自动计算toc和Z近一次的tic之间的时间

下面的”运行时间“,能够正常实现,是正确的
但是”总时间“是错误的,总时间计算的是,Z后一次for j=1:2循环的tic到Z后的toc之间的时间,也就是我在上面说的toc是计算与Z近一个tic直接的时间,而Z近一个tic就是Z后一次循环中出现的tic

我们可以使用下面的程序进行验证
tic; t1=clock;
for i=1:3
tic ;t2=clock;
k=0;
for j=1:2
k=k+i*j;
pause(0.5)
end
disp('运行时间:');
toc; etime(clock,t2)
end
disp('总时间:');
toc;etime(clock,t1)

还有一个验证是

tic
puase(0.5)
toc
puase(0.5)
toc
puase(0.5)
toc
puase(0.5)
toc

你看看运行结果
2 0 2015-07-04 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论