matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

2.6.3 牛顿切线法的MATLAB程序

2.6.3  牛顿切线法的MATLAB程序

牛顿切线法的MATLAB主程序

现提供名为newtonqx.m的M文件:

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]';

 

例 2.6.3 用牛顿切线法求方程的近似根,要求精度.

解 

在MATLAB工作窗口输入程序

>> [k,xk,yk,piancha,xdpiancha]=newtonqx(-0.4,0.001, 0.001,100)

运行后输出初始值的迭代结果.

 

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3020603.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1