展开全部
牛顿切线法的MATLAB主程序:
function [k,xk,yk,piancha,xdpiancha]=newtonqx(x0,tol,ftol,gxmax)
x(1)=x0;
for i=1: gxmax
x(i+1)=x(i)-fnq(x(i))/(dfnq(x(i))+eps); piancha=abs(x(i+1)-x(i));
xdpiancha= piancha/( abs(x(i+1))+eps); i=i+1;
xk=x(i);yk=fnq(x(i)); [(i-1) xk yk piancha xdpiancha];
if (abs(yk)<ftol)&&((piancha<tol)||(xdpiancha< tol))
k=i-1; xk=x(i);[(i-1) xk yk piancha xdpiancha];
return;
end
end
if i>gxmax
disp('请注意:迭代次数超过给定的最大值gxmax。')
k=i-1; xk=x(i);[(i-1) xk yk piancha xdpiancha];
return;
end
[(i-1),xk,yk,piancha,xdpiancha]';
里面有可能符号是中文下的,朋友注意一下就OK了!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询