How do i change this " while loop " to a for loop while still arriving to the same end product?
Mostrar comentarios más antiguos
function [r,resarray] = newton(f,df,x0,tol,maxiter)
%f = @(x) x^3-3
%df= @(x) 3*x.^2
%x0= 1
%tol=10^-6
%maxiter= 100
resarray = [];
x=x0;
h = (f(x))/ (df(x));
i = 1;
while(abs(h) > tol & i<=maxiter)
h = f(x)/ df(x);
x = x - h;
resarray = [resarray, x];
i=i+1;
end
r = x;
end
Respuestas (1)
Roger Stafford
el 18 de Feb. de 2018
Editada: Roger Stafford
el 18 de Feb. de 2018
....
for i = 1:maxiter
if abs(h) <= tol
break
end
....
2 comentarios
Raiven Balderas
el 18 de Feb. de 2018
Roger Stafford
el 18 de Feb. de 2018
Sorry. I have corrected it to be a for-loop.
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!