(其一)
MATLAB实际单位时间计时函数的具体应用,在编写程序时,经常需要获知代码的执行实际时间,这就需要在程序中用到计时函数,matlab中提供了以下三种方法:

1.cputime(单位不明)

返回matlab启动以来的CPU时间,可以在程序执行钱保存当时的CPU时间,然后在程序执行结束后用cputime减去运行前保存的数值,就可以获取程序的实际运行时间

>>t0=cputime;pause(3);TimeCost=cputime-t0

2.tic/toc(单位s)

tic用在程序的开始,作用是启动一个计时器,然后在程序尾部放一个toc,表示终止计时器,并返回tic启动以来的总时s间

3.etime(单位s)

etime(t1,t2)用来计算两个日期向量t1和t2之间的时间差,结合前面讲到的clock函数也可以用来确定程序代码的运行时间

>>t0=clock;pause(3);TimeCost=etime(clock,t0)

在三种计时中建议使用第二种,相对来说最精确。当然你可以使用profiler来确定你的执行时间,并且具体到没有个命令的时间

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

下面我们就说说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,更不是第二个。。。。。

matlab计算运行时间方法相关推荐

  1. matlab 计算运行时间的办法

    计算运行时间的办法 Elapsed time is 0.757994 seconds. tic和toc是用来记录matlab命令执行的时间 tic用来保存当前时间,而后使用toc来记录程序完成时间. ...

  2. Matlab 计算均方误差MSE的三种方法

    Matlab 计算均方误差MSE的三种方法 数据说明: ytest 测试集y,真实的y值,是一维数组: ytest_fit 基于测试集 x 预测的y值,是一维数组: test_error 是预测误差. ...

  3. 正交矩阵,(标准)正交基,正交投影,正交分解定理,最佳逼近定理,格拉姆-施密特方法求正交基(手算+MATLAB),QR分解(手算+MATLAB计算、分析)

    正交(orthogonality).正交集(orthogonal set).单位正交集 定义:如果向量uuu和向量vvv是相互正交的,则有:u⋅v=0u\cdot v=0u⋅v=0. 因为对于零向量, ...

  4. 期权定价matlab计算,期权的定价方法概述及利用matlab计算期权价格

    期权的定价方法概述及利用matlab计算期权价格 摘要期权是功能最多.最激动人心的融衍生工具之一.期权定价问题一直是金融数学当中最复杂的问题之一,简要介绍几种基本的期权定价理论,并利用matlab金融 ...

  5. matlab画复变函数,科学网—复数复变函数的Matlab计算与绘图 - 周铁戈的博文

    复数复变函数的Matlab计算与绘图 周铁戈 复数的表示 存在两种表示方法,一种是代数式,一种是指数式,在Matlab中的方式如下: >> z=1+2i            #代数式,1 ...

  6. 【数字信号处理】相关函数应用 ( 使用 matlab 计算相关函数 )

    文章目录 一.相关函数应用场景 1.生成高斯白噪声 2.信噪比 SNR 3.根据信噪比 SNR 求信号幅度 4.产生单载波信号及最终信号 5.求自相关函数及功率 6.matlab 完整代码 一.相关函 ...

  7. gps数据处理matlab,基于Matlab的数据处理方法在GPS高程拟合中的应用

    基于Matlab的数据处理方法在GPS高程拟合中的应用 在分析GPS高程异常拟合模型实质的基础上,结合工程实例,顾及地球重力场的空间连续性特点,运用Matlab中的拟合插值函数Griddata等进行高 ...

  8. C/C++ VS中调用matlab函数的方法

    C/C++ VS中调用matlab函数的方法 [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/details/73743654 Matla ...

  9. c语言微秒级延迟程序,C语言中生产随机数及计算运行时间(微秒级)

    java中要生产随机数的 话 直接 new一个 Random就 可以 了 ,c语言中的话会稍微麻烦一点点. 计算运行时间 在比较算法运行效率中 要 用到 . #include #include #in ...

最新文章

  1. easypoi教程_EasyPoi教程
  2. javascript-数据类型,json与数组,获取非行间样式
  3. R语言使用tryCatch函数调试R代码实战:tryCatch函数运行正常R代码、tryCatch函数运行有错误(error)的R代码示例/tryCatch函数运行有警告(warning)的R代码示例
  4. pptv网络电视android,PP视频(原聚力视频)
  5. 多个PHP版本环境搭建(nginx,php)
  6. python输出日期语句_python输出语句怎么用
  7. 单片机c语言位运算写法,单片机与嵌入式系统中C语言的位运算小记
  8. linux用户命令快捷链接,linux简单命令
  9. 宿主不能访问本机虚拟机中的web服务器
  10. Xamarin.Forms 简介
  11. 访问修饰符 public private protected default
  12. 【收藏】基于Dockerfile搭建JAVA Tomcat运行环境
  13. ORA-01501: CREATE DATABASE failed
  14. Charles最新版破解注册方法
  15. 学习笔记:std::quoted
  16. PHP代码审计系统—RIPS
  17. 负数二进制转换十进制
  18. 月度行业报告模板说明
  19. 好看的微信忧心文案小程序源码 文案+头像+背景图
  20. 程序员应了解:知识技能金字塔

热门文章

  1. POJ 2391 Ombrophobic Bovines 网络流 建模
  2. Linux:终端自定义title
  3. Flex DataGrid可编辑对象实现Enter跳转
  4. 设置上传文件的最大大小
  5. dedecms系统列表页调用tag标签同时带上链接的方法
  6. CDN加速服务有什么功能和作用?
  7. 如何防御潜在的破坏性DDoS攻击—Vecloud微云
  8. WM有约II(二):持续改进
  9. fastjson 对象和json互转
  10. DOS命令编译JAVA程序