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!

 Akzeptierte Antwort

Wayne King
Wayne King am 7 Apr. 2013
Bearbeitet: Wayne King am 7 Apr. 2013

0 Stimmen

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 Kommentare

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 am 7 Apr. 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 am 7 Apr. 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 am 7 Apr. 2013
its working! for k=1:100 try .... catch error end end
%%and the loop continues ignoring the error thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by