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 Kommentare

Azzi Abdelmalek
Azzi Abdelmalek am 12 Jul. 2016
What is the problem?
Salar
Salar am 27 Jul. 2016
I got it solved. Thank you anyways!

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Image Analyst
Image Analyst am 12 Jul. 2016

0 Stimmen

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.

Weitere Antworten (0)

Kategorien

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

Gefragt:

am 12 Jul. 2016

Kommentiert:

am 27 Jul. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by