# I can't get this IF statement to work

조회 수: 4(최근 30일)
Sarfraz Khan 3 Mar 2020
댓글: Rena Berman 14 May 2020 16:46
Hi, I have been trying to programme newtons law of itterations, which is an itterative method which converges to the unknown point we are trying to figure out. I have got my code to do the hard part. I would however like my code to break as soon as the same figure begins to repeat itself. Please see below:
f = @(x) exp(x)-1.5+atan(x);
g = @(x) exp(x)+1/((x^2)+1);
x0 = 50
for i = 1:100
x1 = x0 - (f(x0)/g(x0)) %Newtons Formula
if x0 == x1
else
x0=x1
end
end

#### 댓글 수: 2

Rik 3 Mar 2020
Why did you remove your question? That is extremely rude. Now nobody can benefit from your question if they have a similar issue.
Rena Berman 14 May 2020 16:46

로그인 to comment.

### 채택된 답변

David Hill 3 Mar 2020
f = @(x) exp(x)-1.5+atan(x);
g = @(x) exp(x)+1/((x^2)+1);
x0 = 50;
tol=1e-6;
for i = 1:100
x1 = x0 - (f(x0)/g(x0)); %Newtons Formula
if abs(x0-x1)<tol
break;
else
x0=x1;
end
end
You could also do a while loop:

#### 댓글 수: 2

Sarfraz Khan 3 Mar 2020
How would I use a while loop here? I have attempted but getting similar issues :(
David Hill 3 Mar 2020
root=x-f(x)/fp(x);
while abs(root-x)>tol
x=root;
root=x-f(x)/fp(x);
end

로그인 to comment.

### 추가 답변(0개)

이 질문에 답변하려면 로그인을(를) 수행하십시오.