数值分析上机..docx
文本预览下载声明
1、分别用不动点迭代与Newton法求解方程 x-e2x+5=0的正根与负根。解答:(1)开始把原方程变形为x=e^2x+5;用不动点迭代法发现不收敛p0 =2.389056098930650p0 = 1.138797166964409e+02p0 = 8.216088789469673e+98后来变形为x=ln(x+5)/2i=1;N=20;T=0.0001;p0=1;disp(不动点迭代法求正根);for i=1:N p=(log(p0+5))/2;if (abs(p-p0)T) disp(p);break;end p0=p;endzuoye1不动点迭代法求正根 0.886320947105208.(2)对x-e2x+5=0求导y’=1-2e^2x;i=1;N=20;T=0.0001;p0=-1;format longdisp(牛顿法求负根);for i=1:N p=p0-(p0-exp(2*p0)+5)/(1-2*exp(2*p0));if (abs(p-p0)T) disp(p);break;end p0=p;endzuoye12牛顿法求负根 -4.9999545959474692.对于600*x^4-550*x^3+200*x^2-20*x-1=0,使用下面的各种方法求位于[0.1,1]内的解,精确到10^-4.a.二分法i=1;T=0.0001;a=0.1;b=1;N=20;disp(二分法)f=@(x) 600*x^4-550*x^3+200*x^2-20*x-1;FA=f(a);for i=1:N p=(a+b)/2;FP=f(p);if(FP==0||(b-a)/2T) disp(p);break;endif(FA*FP0) a=p; FA=FP;else b=p;endendzuoye2a二分法 0.232330322265625b.Newton法i=1;N=30;T=0.0001;p0=1;disp(牛顿法求根);format longf=@(x) 600*x^4-550*x^3+200*x^2-20*x-1;s=@(x) 2400*x^3-1650*x^2+400*x-20;for i=1:N p=p0-f(p0)/s(p0);if (abs(p-p0)T) disp(p);break;end p0=p;endzuoye2b牛顿法求根 0.232352964818264c.正割法。i=1;N=30;T=0.0001;p0=0.1;p1=1;disp(正割法求根);format longf=@(x) 600*x^4-550*x^3+200*x^2-20*x-1;q0=f(p0);q1=f(p1);for i=1:N p=p1-q1*(p1-p0)/(q1-q0);if (abs(p-p1)T) disp(p);break;end p0=p1; q0=q1; p1=p; q1=f(p);endzuoye2c正割法求根 0.232352956733991d.试位法i=1;N=100;T=0.0001;p0=0.1;p1=1;disp(试位法求根);format longf=@(x) 600*x^4-550*x^3+200*x^2-20*x-1;q0=f(p0);q1=f(p1);for i=1:N p=p1-q1*(p1-p0)/(q1-q0);if (abs(p-p1)T) disp(p);break;end q=f(p);if(q*q10) p0=p1; q0=q1;end p1=p; q1=q;endzuoye2d试位法求根 0.230346280349199e.Muller法i=1;N=100;T=0.0001;p0=0.1;p1=0.25;p2=0.5;disp(muller法求根);format longf=@(x) 600*x^4-550*x^3+200*x^2-20*x-1;h1=p1-p0;h2=p2-p1;g1=(f(p1)-f(p0))/h1;g2=(f(p2)-f(p1))/h2;d=(g2-g1)/(h2+h1);for i=1:N b=g2+h2*d; D=sqrt((b^2-4*f(p2)*d));if (abs(b-D)abs(b+D)) E=b+D;else E=b-D;end h=-2*f(
显示全部