Breaking out from loop
4 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a for loop that run over 50 times. In the loop i'm doing cross correlation in diff images. then after then loop finish i look for the best image match.
However i find the loop take quite a long time when my image size is big. I would like to stop the loop once i get 90% match n i want my program to jump out from the loop after 2 min of execution in the loop if it is still looping after 2 min regardless there is a match or not.
i could use while loop instead of for loop but i dono how to stop the loop after 2 minutes.
Please advice.
0 个评论
采纳的回答
Javier
2011-7-24
Hi, you can use the "tic" and "toc" matlab functions, which ones let you to create a timer and control the elapsed time between the execution of a code, for example in your case:
tStart=tic;%starts the timer
for n=1:10e50
a=n+1;%here your function
tEnd=toc(tStart);
if(tEnd>=(2*60))%checks if it has passed 2minutes
disp('It has spent 2min');
break;%break the for loop if it's true the condition
end
end
tEnd has got the time elapsed in seconds, and 10e50 is a value I have set randomly to make the code spend more than two minutes. In the condition you can see I have set "2" minutes in seconds.
Regards!
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!