Why do my loop never end?

1 vue (au cours des 30 derniers jours)
Adam
Adam le 11 Sep 2013
Hi! In my function my while loop never ends and I can't understand why. I'm making the bisect algorithm and want to save every left and right x I test.
The error I get (after using ctrl + C): Operation terminated by user during bisektion2 (line 60)
The loop looks like this:
while X(i)-x(i)>tol % continue as long as the interval is longer
% than the given tolerance
i=i+1; %add 1 to i
if fxx==0
return % break and return x
end
if ((fx*fxx)<0) %if fx * fxx is <0 the answer is on the left side of the interval
X(i)=xx;
x(i)=x(i-1);
fX=fxx;
else %on the right side of the interval
x(i)=xx;
X(i)=X(i-1);
fx=fxx;
end
disp(i);
end

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 11 Sep 2013
Modifié(e) : Azzi Abdelmalek le 11 Sep 2013
That means that X(i)-x(i)>tol is always true

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by