how to give end condition to for loop

35 views (last 30 days)
Rakesh R
Rakesh R on 3 Mar 2019
Answered: Sheng Chen on 3 Mar 2019
for e = (-246200:-246100)
for f = 224169
e
f
h = ((e*def)+f)
if h==138010
return;
end
end
end
  1 Comment
Rik
Rik on 3 Mar 2019
And your question is?
There are multiple things that I would have written differently, but depending on the context this code should work.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 3 Mar 2019
Try this:
bailOut = false;
def = -1
for e = -246200:-246100
for f = 138000 : 224169
h = ((e*def)+f);
fprintf('e = %d, f = %d, h = %d\n', e, f, h);
if h >= 138010 % Or h == 138010 if you're really super certain!
bailOut = true;
break; % Break out of the f loop.
end
end
% Bail out of the e loop, if needed
if bailOut
break;
end
end
fprintf('Done!\n');

More Answers (1)

Sheng Chen
Sheng Chen on 3 Mar 2019
You already terminate your code by "return" if h equals 138010.
I assume you are asking how to terminate the inner for loop:
for f = 224169
....
end
You can put a "break" in this for loop: Terminate execution of for or while loop
for e = (-246200:-246100)
for f = 224169
e
f
h = ((e*def)+f)
if h==138010
break;
end
end
end

Community Treasure Hunt

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

Start Hunting!