Clear Filters
Clear Filters

Breaking out from loop

9 views (last 30 days)
Kyle
Kyle on 24 Jul 2011
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.

Accepted Answer

Javier
Javier on 24 Jul 2011
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!

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 24 Jul 2011
It sounds like a good use case for a timer object. See this link

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!