Why do my loop never end?

조회 수: 1 (최근 30일)
Adam
Adam 2013년 9월 11일
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

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 9월 11일
편집: Azzi Abdelmalek 2013년 9월 11일
That means that X(i)-x(i)>tol is always true

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by