Why do TIC and TOC return incorrect results when a script containing TIC and TOC calls a function that contains another set of TIC and TOC calls?
显示 更早的评论
TIC and TOC return incorrect results when a script containing TIC and TOC calls a function that contains another set of TIC and TOC calls.
This happens when I run the code below:
"test.m":
tic;
for i = 1:1000
a = myfunc(i,i+1)
end
toc
"myfunc.m":
function a = myfunc(x,y)
tic;
for i = 1:100000
a = x*i+y*(i+1);
end
toc
In this script file "test.m", I place a TIC and TOC around a FOR loop that calls the function "myfunc.m". Inside "myfunc.m", I also placed TIC and TOC around the code. Now, when "test.m" is executed, I received the elapsed time for running the function "myfunc.m" as well as receiving the last TOC, the elapsed time for the whole routine. However, (after I executed the code) it is obvious that this last elapsed time is less than the cumulative elapsed time from all the calls to "myfunc.m".
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!