你只是熟悉这个tic toc语法:
tic; someCode; elapsed = toc;
但还有另一种语法:
start = tic; someCode; elapsed = toc(start);
第二种语法进行相同的时间测量,但允许您同时运行多个秒表计时器。您将tic的输出分配给变量tStart,然后在调用toc时使用相同的变量。 MATLAB测量tic和其相关的toc命令之间经过的时间,并显示以秒为单位的时间。这种语法使您能够多次并发操作,包括嵌套操作的时间(matlab documentation of tic toc)。
这是如何在你的情况下使用它。假设这是你的代码:
for i = 1:M
someCode;
end
插入tic和toc这样:
startLoop = tic;
for i = 1:N
startIteration = tic;
someCode;
endIteration = toc(startIteration);
end
endLoop = toc(startLoop);
您还可以使用上述语法来创建第i个元素是第i次迭代的时间测量的向量。喜欢这个:
startLoop = tic;
for i = 1:N
startIteration(i) = tic;
someCode;
endIteration(i) = toc(startIteration(i));
end
endLoop = toc(startLoop);