我给你推荐几种函数:
cputime 显示所占用的CPU时间;
tic,toc 秒表计时,tic是开始,toc是结束;
clock,etime 前者显示系统时间,后者计算两次调用clock之间的时间差。
例如:
1 t0 = cputime你的程序;time=cputime-t0
2 tic你的程序;toc
3 t0 = clock你的程序;time = etime(clock, t0)
最近在做数学问题,也在学习MATLAB,希望对你有所帮助!
当你需要计算一组Matlab *** 作的运行时间时,可以使用tic和toc函数。tic函数启动一个秒表,表示计时开始;toc则停止这个秒表,表示计时结束,并计算出所经历的时间(单位为秒)。比如,下面的代码连续两次计算plot(rand(50,5))这条指令的执行时间:>>ticplot(rand(50,5))toc
Elapsed time is 0.202291 seconds.
>>ticplot(rand(50,5))toc
Elapsed time is 0.062176 seconds.
你会发现这两条同样的plot命令在计算时间上的差别。第二条plot命令要比第一条执行得快,这是因为Matlab已经在执行第一条plot命令时生成了Figure窗口并且已经将所需要的函数编译到了内存,这样第二条指令就省去了创建Figure窗口以及函数搜索和编译的时间。
除了tic和toc外,Matlab还提供了两个函数cputime和etime,用来计算一次运算所占用的时间。其中,函数cputime返回以秒为单位的、自当前Matlab程序段启动之后到调用该函数所占用的CPU时间;函数etime计算两个以6元素行向量格式(例如函数clock与datevec的返回值)表示的时间向量(年 月 日 时 分 秒)之间以秒为单位的时间间隔。实际上,函数tic和toc内部也在利用clock和etime进行计时。
cputime(单位不明)
返回matlab启动以来的CPU时间,可以在程序执行钱保存当时的CPU时间,然后在程序执行结束后用cputime减去运行前保存的数值,就可以获取程序的实际运行时间
>>t0=cputimepause(3)TimeCost=cputime-t0
tic/toc(单位s)
tic用在程序的开始,作用是启动一个计时器,然后在程序尾部放一个toc,表示终止计时器,并返回tic启动以来的总时s间
计算tic和toc之间那段程序之间的运行时间,它的经典格式为
tic
。。。。。。。。。。
toc
etime(单位s)
etime(t1,t2)用来计算两个日期向量t1和t2之间的时间差,结合前面讲到的clock函数也可以用来确定程序代码的运行时间
>>t0=clockpause(3)TimeCost=etime(clock,t0)
在三种计时中建议使用第二种,相对来说最精确。
两个计时随便组合,同一种方法也可以两个计时。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)