我已经用四种不同的方式编写了一个函数,并希望对其进行计时。
目前为止,我一直在做这件事:
tic
%//function 1
toc
tic
%//function 2
toc
tic
%//function 3
toc
tic
%//function 4
toc
但是现在我想为每个函数计算时间数据(比如说100次),然后计算每个函数所花费的平均时间。我该怎么做?
此外,我在某个地方读到,打印出来的时间是经过的“挂钟”时间 - 因此它会受到计算机在运行MATLAB程序时所做的任何其他事情的影响。
那么有没有更好的方法?我听说MATLAB内置了一个代码分析器,使用命令“profile on”。请问有人能建议我如何使用它吗?
我还查阅了以下网站:Timing code in MATLAB和Profiler to find code bottlenecks。
请建议如何在循环中多次执行此操作。提前感谢您的回答。
imfilter
会尽可能地分离内核(您可以edit
查看代码),conv2
也可能会这样做,但不确定。无论如何,执行时间似乎受到图像加载时间的影响,您应该从计时中排除它。 - Cris Luengo