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

2.4.5 迭代法的MATLAB程序2

2.4.5          迭代法的MATLAB程序2

迭代法的MATLAB主程序2

function [k,piancha,xdpiancha,xk,yk]=diedai2(x0,tol,ddmax)

x(1)=x0;

for i=1: ddmax

   x(i+1)=fun(x(i));piancha=abs(x(i+1)-x(i));

   xdpiancha=piancha/( abs(x(i+1))+eps);i=i+1;

   xk=x(i);yk=fun(x(i)); [(i-1) piancha xdpiancha xk yk]

 if (piancha<tol)|(xdpiancha< tol)

        k=i-1;  xk=x(i);

    return;

end

end

 if i>ddmax

    disp('迭代次数超过给定的最大值ddmax')

    k=i-1; xk=x(i);yk=fun(x(i));

[(i-1) piancha xdpiancha xk yk];

return;

end

P=[(i-1),piancha,xdpiancha,xk,yk]';

 

例2.4.5  求x5-3x+1=0在0.3附近的根,精确到4位小数.

解 ⑴ 构造迭代公式

    .

⑵利用迭代法的MATLAB程序2计算精确到4位小数的根的近似值 y 和迭代次数k.

在MATLAB工作窗口输入程序

>> [k,piancha,xdpiancha,xk,yk]=diedai2(0.3,1e-4,100)

运行后输出的结果

[k,piancha,xdpiancha,xk,yk] =

0   0.03414   0.10218   0.30000   0.33414

1   0.03414   0.10218   0.33414   0.33472

2   0.00058   0.00173   0.33472   0.33473

3   0.00001   0.00004   0.33473   0.33473

k =3;piancha =1.206089525390697e-005;

xdpiancha =3.603129477781680e-005;

        xk =0.3347; yk =0.3347.

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