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?
Mostrar comentarios más antiguos
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".
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!