本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

toc

从秒表读取已用时间

语法

toc
elapsedTime = toc
toc(timerVal)
elapsedTime = toc(timerVal)

说明

toctic 函数启动的秒表计时器读取已用时间。该函数会读取执行 toc 命令时的内部时间,并显示自最近调用没有输出的 tic 函数以来的已用时间(以秒为单位)。

elapsedTime = toc 在变量中返回已用时间。

toc(timerVal) 显示自调用 timerVal 所对应 tic 命令以来的已用时间。

elapsedTime = toc(timerVal) 返回自调用 timerVal 所对应 tic 命令以来的已用时间。

输入参数

timerVal

以前调用 tic 命令保存的内部计时器值。

输出参数

elapsedTime

以秒为单位表示 tictoc 命令之间流逝时间的标量 double

示例

测量生成两个随机矩阵的时间,并计算其转置的逐元素乘积。

tic
A = rand(12000, 4400);
B = rand(12000, 4400);
toc
C = A'.*B';
toc

度量对线性方程组求解需要的时间随矩阵的阶数怎样变化:

t = zeros(1,100);
for n = 1:100
    A = rand(n,n);
    b = rand(n,1);
    tic;
    x = A\b;
    t(n) = toc;
end
plot(t)

使用两对 tic/toc 调用同步测量多个时间范围。为此,在下例中测量计算 Bessel 函数的总和所需的最低时间和平均时间:

REPS = 1000;   minTime = Inf;   nsum = 10;
tic;  % TIC, pair 1

for i=1:REPS
   tStart = tic;  % TIC, pair 2  
   total = 0;
   for j=1:nsum 
      total = total + besselj(j,REPS);
   end

   tElapsed = toc(tStart);  % TOC, pair 2  
   minTime = min(tElapsed, minTime);
end
averageTime = toc/REPS;  % TOC, pair 1  

提示

  • 连续调用没有输入的 toc 函数,会返回自最近的 tic 以来的已用时间。因此,可以从单个时间点进行多次测量。

    连续调用具有相同的 timerVal 输入的 toc 函数,会返回自对应于该输入的 tic 函数以来的已用时间。

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

    • 使用 tictoc 确定 timeit 的时间
    • timeit 计时的函数内使用 tictoc

扩展功能

另请参阅

| | | | |

在 R2006a 之前推出