How do I stop this loop?

1 view (last 30 days)
Salar
Salar on 12 Jul 2016
Commented: Salar on 27 Jul 2016
Hello,
I have a simple question, and I really appreciate it if you could please help me. I have a for loop, and I'd like to stop it when my calculated value exceeds a certain number, but my attempts haven't been successful. This is my code:
for i=1:100
[ f_YC,fp_YC] = FD_YC( ycI,mu,C );
[XN,iter]=NR(xn,f_YC,fp_YC);
xI=XN;
my = 1./((-xI+(1-mu).*(xI+mu)./((xI+mu).^2+ycI).^(3/2) +mu.*(xI-1+mu)./((xI-1+mu).^2+ycI.^2).^(3/2))./( ycI -ycI.*(1-mu)./((xI+mu).^2+ycI.^2).^(3/2)- ycI.*mu./((xI-1+mu).^2+ycI.^2).^(3/2)));
X = my .* ycI + XN;
if xI > .82;
break
end
end
  2 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 12 Jul 2016
What is the problem?
Salar
Salar on 27 Jul 2016
I got it solved. Thank you anyways!

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 12 Jul 2016
That should stop it, if XN ever exceeds 0.82. Apparently it doesn't though. This is the way to find out why: http://blogs.mathworks.com/videos/2012/07/03/debugging-in-matlab/ Perhaps since you don't pass I into any of the arrays or functions in the first two lines, the values never change. Not sure since we don't have those arrays or functions to check them.

More Answers (0)

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!