stopping a function after 30 iterations
1 view (last 30 days)
Show older comments
I have been working all day on this coding, i can not figure out how to stop it after 30 iterations
function root %finds the root of the equation F0fX(x) using newton-raphson method
clear all;
clc;
x=.8;
x=newton(x);
fprintf('root found at x= %10.8f\n',x);
function [y]=FofX(x)
%nonlinear function
y= x^2+1;
function [y]=derofF(x)
%derivative of the function
y=2*x;
function [x]=newton(x)
%code for finding with newton-raphson method
TOL=5e-09;
error=10*TOL;
%Top of the loop
iterations=0;
while(error>TOL)
delta=-FofX(x)/derofF(x);
x=x+delta;
iterations=iterations+1;
%check for the relative error condition:
%If too big, loop again;if small enough, end.
error=abs(delta/x);
end
fprintf('after%4.0f iterations\n',iterations)
thanks for any help
2 Comments
Accepted Answer
More Answers (1)
Hossein
on 21 Apr 2012
Hi, The function that you are using doesn't have any real root. If you change the function to x^2-1 it works perfectly fine.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!