stopping a function after 30 iterations
显示 更早的评论
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 个评论
Walter Roberson
2012-4-20
What problems do you observe for the other functions?
David bondi
2012-4-20
采纳的回答
更多回答(1 个)
Hossein
2012-4-21
0 个投票
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!