I can't get this IF statement to work
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sarfraz Khan
el 3 de Mzo. de 2020
Comentada: Rena Berman
el 14 de Mayo de 2020
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:
If I hadnt included the 1:100 statement the code would run on forever. Please help!!
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 comentarios
Rik
el 3 de Mzo. de 2020
Why did you remove your question? That is extremely rude. Now nobody can benefit from your question if they have a similar issue.
Respuesta aceptada
David Hill
el 3 de Mzo. de 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 comentarios
David Hill
el 3 de Mzo. de 2020
root=x-f(x)/fp(x);
while abs(root-x)>tol
x=root;
root=x-f(x)/fp(x);
end
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!