Trying to pass/ignore an Error in a loop.

I have a loop that check the best parametrers in many timeseries, but there are some of them where Matlab cannot check, so the loop is stopping. In those cases i just want the loop to continue, ignoring the error. I am thinking "for i=1:1000 ... if find an error go to i+1 " but there is something like this??
Thanks!

 Réponse acceptée

Wayne King
Wayne King le 7 Avr 2013
Modifié(e) : Wayne King le 7 Avr 2013
Without more detail, I don't know if this will work in your scenario, but one possibility is a try block
x = randn(3,2);
y = randn(3,2);
try
z = x*y;
catch ME
z = x.*y;
end
If an error occurs in the catch end block, then the execution will stop unless you catch that error with a try -- catch

4 commentaires

Indeed, extra example below. The second run normally would stop the script when trying to access y(-2). Now it continues.
x = [1,-2,3];
y = [4,5,6];
for p = 1:3
try
disp(y(x(p)));
catch error
end
end
nicolas
nicolas le 7 Avr 2013
I have read this, in help documenattion. The clue is if matlab finds an error in try block to continue in catch block. Right?
nicolas
nicolas le 7 Avr 2013
ok ok, i understand. I ll try this later, because now its still running, until it finds an error again! Thanks for your time!
nicolas
nicolas le 7 Avr 2013
its working! for k=1:100 try .... catch error end end
%%and the loop continues ignoring the error thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by