C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

亚星游戏官网-yaxin222  下士

注册:2015-10-23
发表于 2015-12-17 20:48:55 |显示全部楼层

趁着跑程序的空当,记录下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》及帖子:http://blog.sina.com.cn/s/blog_6bbd2dd10100p2ob.html



举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-11-24 10:27 , Processed in 0.104142 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图