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!