主要内容

时代

运行函数所需的时间

描述

例子

t = timeit(F测量运行函数句柄指定的函数所需的时间(以秒为单位)F.为了执行稳健的测量,时代多次调用指定的函数并返回测量的中位数。如果函数快速运行,时代可能很多次调用函数。

例子

t = timeit(Fnumoutput.呼叫F具有所需的输出数量,numoutput..默认情况下,时代调用函数F使用一个输出(或没有输出,如果函数不返回任何输出)。

例子

全部收缩

采用时代时间调用日期.这个例子使用了一个不接受输入的函数句柄。

f = @date;t = timeit(f)
t = 6.2573e-05

几个数学矩阵操作的组合:矩阵转换,元素乘法和列的求和。

a = rand(12000,400);B =兰特(400,12000);f = @()总和(a。'。* b,1);Timeit(F)
ans = 0.0420.

确定运行需要多长时间SVD.有一个输出参数,s = svd(x)

X =兰德(100);f = @() svd(X);时间t1 = (f)
t1 = 7.9459e-04

比较结果SVD.有三个输出参数,[u,s,v] = svd(x)

t2 = timeit(f,3)
T2 = 0.0022.

使用嵌套循环创建一个短函数来分配矩阵。使用嵌套环路预配阵列效率低,但此处显示用于说明目的。

功能marr = preallocfcn(x,y)为了m = 1:x为了n = 1:y marr(m,n)= 0;结尾结尾结尾

比较使用嵌套循环并使用矩阵将零分配给矩阵的时间Zeros.功能。

x = 1000;y = 500;g = @()preallocfcn(x,y);h = @()zeros(x,y);diffruntime = timeit(g) -  timeit(h)
diffruntime = 0.1584

输入参数

全部收缩

要测量的功能,指定为函数句柄。F是一个函数的句柄,该函数没有输入的函数,或者用空参数列表匿名函数的句柄。

所需输出的数量F,指定为整数。如果函数指定F具有可变数量的输出,numoutput.指定哪个语法时代用来调用函数。例如,SVD.函数返回一个输出,S.或三个输出,[u,s,v].放numoutput.1时间s = svd(x)语法,或将它设置为3.时间[u,s,v] = svd(x)句法。

提示

  • 以下操作会导致意外输出:

    • 使用时代之间Tic.TOC.
    • 使用时代对包含调用的函数计时Tic.TOC.
    • 使用时代递归

介绍在R2013B.