打印

MATLAB计时函数小总结

[复制链接]
602|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cooldog123pp|  楼主 | 2020-8-29 20:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很多时候我们需要知道程序或部分代码运行时间,现简单总结如下,如有错误或不足之处还望坛友加以指正和补充
一、tic/toc组合,个人经常使用这个,既可以计算整体,也可以计算部分代码的运行时间
使用格式
tic
  %程序段
toc

tStart = tic;           % pair 2: tic
n = 10;
T = zeros(1,n);
for i = 1:n
    A = rand(12000,4400);
    B = rand(12000,4400);
    tic         % pair 1: tic
    C = A.*B;
    T(i)= toc;  % pair 1: toc
end
tMul = sum(T)
tEnd = toc(tStart)      % pair 2: toc
可得
tMul =
    0.7418
tEnd =
    8.7086
二、etime/clock组合
使用格式
t1=clock
%程序段
t2=clock
t=etime(t2,t1)

t1=clock;
n = 10;
T = zeros(1,n);
for i = 1:n
    A = rand(12000,4400);
    B = rand(12000,4400);   
    C = A.*B;   
end
t2=clock;
t=etime(t2,t1)
可得
t =
    8.7320
三、cputime函数
使用格式
t = cputime;
%程序段
e = cputime-t

t = cputime;
n = 10;
T = zeros(1,n);
for i = 1:n
    A = rand(12000,4400);
    B = rand(12000,4400);   
    C = A.*B;   
end
e = cputime-t
可得e =
   18.7969
值得注意的是cputime测试的并非代码实际执行时间,而是CPU实际运行的时间。具体请看https://www.ilovematlab.cn/thread-237411-1-1.html
四、timeit函数,用来测量运行函数的时间
使用格式
t = timeit(f)%f为函数句柄

f = @date;
t = timeit(f)
可得
t =
   1.8348e-05

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1776

主题

6281

帖子

29

粉丝