Matlab中计算程序运行时间的三种方法

来源:互联网 发布:java 接口隔离原则 编辑:程序博客网 时间:2024/05/17 06:02

经常我们需要计算我们程序到底运行多长时间,这样可以比较程序的执行效率。当然这个对于只有几秒钟的小程序没有什么意义,但是对于大程序就有很重要的意义了。


下面我们就说说Matlab中计算程序运行时间的三种常用方法吧!


注意:三种方法由于使用原理不一样,得到结果可能有一定的差距!


1、tic和toc组合(使用最多的)


计算tic和toc之间那段程序之间的运行时间,它的经典格式为 
tic 
。。。。。。。。。。 
toc
复制代码换句话说程序,程序遇到tic时Matlab自动开始计时,运行到toc时自动计算此时与最近一次tic之间的时间。这个有点拗口,下面我们举个例子说明 % by dynamic of Matlab技术论坛 
% see also http://www.matlabsky.com 
% contact me matlabsky@gmail.com 
% 2009-08-18 12:08:47 




clc 
tic;%tic1 
t1=clock; 
for i=1:3 
tic ;%tic2 
t2=clock; 
pause(3*rand) %计算到上一次遇到tic的时间,换句话说就是每次循环的时间 
disp(['toc计算第',num2str(i),'次循环运行时间:',num2str(toc)]); %计算每次循环的时间 
disp(['etime计算第',num2str(i),'次循环运行时间:',num2str(etime(clock,t2))]); %计算程序总共的运行时间 
disp(['etime计算程序从开始到现在运行的时间:',num2str(etime(clock,t1))]); 
disp('======================================') 
end %计算此时到tic2的时间,由于最后一次遇到tic是在for循环的i=3时,所以计算的是最后一次循环的时间 
disp(['toc计算最后一次循环运行时间',num2str(toc)]) 
disp(['etime程序总运行时间:',num2str(etime(clock,t1))]);






复制代码运行结果如下,大家可以自己分析下 toc计算第1次循环运行时间:2.5628 
etime计算第1次循环运行时间:2.562 
etime计算程序从开始到现在运行的时间:2.562 
====================================== 
toc计算第2次循环运行时间:2.8108 
etime计算第2次循环运行时间:2.813 
etime计算程序从开始到现在运行的时间:5.375 
====================================== 
toc计算第3次循环运行时间:2.0462 
etime计算第3次循环运行时间:2.046 
etime计算程序从开始到现在运行的时间:7.421 
====================================== 
toc计算最后一次循环运行时间2.0479 
etime程序总运行时间:7.421
复制代码




2、etime(t1,t2)并和clock配合


来计算t1,t2之间的时间差,它是通过调用windows系统的时钟进行时间差计算得到运行时间的,应用的形式 t1=clock; 
。。。。。。。。。。。 
t2=clock; 
etime(t2,t1)
复制代码至于例子我就不举了,因为在上面的例子中使用了etime函数了




3、cputime函数来完成


使用方法和etime相似,只是这个是使用cpu的主频计算的,和前面原理不同,使用格式如下 t0=cputime 
。。。。。。。。。。。。。 
t1=cputime-t0
复制代码上面说到了三种方法,都是可以进行程序运行时间计算的,但是Matlab官方推荐使用tic/toc组合,When timing the duration of an event, use the tic and toc functions instead of clock or etime.


至于大家可以根据自己的喜好自己选择,但是使用tic/toc的时候一定要注意,toc计算的是与最后一次运行的tic之间的时间,不是第一个tic,更不是第二个。 
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 家里竹子发黄了怎么办 水培莲叶子发黄怎么办 莲花叶子变黑了怎么办 庭院竹子黄叶子怎么办 水培竹子水发臭怎么办 没生根的富贵竹怎么办 床垫气味太重怎么办 艾灸后经期延长怎么办 花叶上长白点怎么办 经期20天不止怎么办 尤加利叶尖干了怎么办 水培竹子根发黄怎么办 水培的竹子发黄怎么办 鱼缸水草长黑毛怎么办 水草上长黑毛怎么办 鱼缸的水草长毛怎么办 鱼缸水草长白毛怎么办 被狐狸咬了怎么办 经常咳嗽有痰怎么办 嗓子痒经常咳嗽怎么办 冬季咳嗽老不好怎么办 孩子得喉炎咳嗽怎么办 夏天嗓子痒咳嗽怎么办 大人咳嗽老不好怎么办 孩子过敏咳嗽怎么办啊 过敏导致的咳嗽怎么办 奶水多营养不足怎么办 水培富贵竹叶尖发黄怎么办 水培富贵竹干尖怎么办 富贵竹叶子变黄了怎么办 富贵竹叶子变黄怎么办 富贵竹的叶子黄了怎么办 土栽富贵竹发黄怎么办 富贵竹的黄叶子怎么办 土培富贵竹发黄怎么办 富贵竹根变黄了怎么办 富贵竹叶子尖发黄怎么办 富贵竹新叶子发黄怎么办 富贵竹杆变黄了怎么办 水培观音竹叶子发黄怎么办 富贵竹叶子根部发黄怎么办