我是靠谱客的博主 干净白猫,最近开发中收集的这篇文章主要介绍Matlab 计时函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

因为做实验要用到


Matlab中计算函数运行时间的三种方法:
  1、tic和toc组合
  计算tic和toc之间那段程序之间的运行时间,它的经典格式为 :
  tic
  函数
  toc
  复制函数代码,当代码遇到tic时Matlab自动开始计时,运行到toc时自动计算此时与最近一次tic之间的时间。
  2、etime(t1,t2)并和clock配合
  计算t1,t2之间的时间差,它是通过调用windows系统的时钟进行时间差计算得到运行时间的,应用的形式:
  t1=clock;
  函数
  t2=clock;
  etime(t2,t1)
  3、cputime函数来完成
  使用方法和etime相似,只是这个是使用cpu的主频计算的,和前面原理不同,使用格式如下:
  t0=cputime
  函数
  t1=cputime-t0


趁着跑程序的空当,记录下Matlab计时函数的使用。


当你需要计算一组Matlab操作的运行时间时,可以使用tic和toc函数。tic函数启动一个秒表,表示计时开始;toc则停止这个秒表,表示计时结束,并计算出所经历的时间(单位为秒)。比如,下面的代码连续两次计算plot(rand(50,5))这条指令的执行时间:

>> tic;plot(rand(50,5));toc
Elapsed time is 0.202291 seconds.
>> tic;plot(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和etime的用法,其中histo_equalization是我自定义的一个关于直方图均衡的M脚本文件:
>> t0 = cputime; histo_equalization; cputime-t0

ans =

    1.4375
>> t1 = clock; histo_equalization; etime(clock,t1)

ans =

    1.5000

由此可看出cpu占用时间与程序占用时间之间的差别。


参考《精通Matlab7》

最后

以上就是干净白猫为你收集整理的Matlab 计时函数的全部内容,希望文章能够帮你解决Matlab 计时函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(99)

评论列表共有 0 条评论

立即
投稿
返回
顶部