资源描述:
《数值分析上机实验非线性方程求根试验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、矣發板告课程名称、u//Tn/:值分析实验项目名称非线性方程求根试验实验类型上机实验学时2班级20111131学号2011113130姓名张振指导教师沈艳实验室名称理学楼407实验时间2013.12.11实验成绩预习部分实验过程表现实验报告部分总成绩教师签字日期哈尔滨工程大学教务处制实验三非线性方程求根试验一.数值积分的基本思想1.不动点迭代法基本思想:首先给定一个粗糙的初始值,然而用一个迭代公式,反复校对这个初值,将已有近似值逐步精确化,一直到满足精度为止。具体的,把方程^卜卜0改写成1的表达式若的一个不动点,求/(4的零点等价于求的不动点。在上任取一点々代入求得=又将七代入求得如
2、此反复下去,一般地得么+1=々二0’1’2’…。识(x)称为迭代函数,识(x)为迭代公式。2.牛顿法基本思想:将非线性方程/W=Q逐步转化为某种线性方程来求解。设/W=Q的一个近似根x。,则函数在点力附近可以用一阶泰勒公式/(小/⑷十/’⑷卜〜:^来近似。若>0,解得°/⑷,将此根为原方程的近似根然后按上式迭代计算,使形成一种新的迭代公式,⑷f'M々二0,1,2,称为牛顿法二.实验题目及实验目的(第七章计算实习题1)求下列方程的实根:(1)x2-3x+2-^v=0;(2)+2.x"+10%—20=0.要求:(1)设计一种不动点迭代法,要使迭代序列收敛,然后再用斯特芬森加速迭代,计算到
3、h-Xn^lO-8为止。(2)用牛顿迭代,同样计算到<10_8,输出迭代初值及各次迭代值和迭代次数A,比较方法的优劣。一.实验手段:指操作环境和平台:win7系统下MATLABR2012b程序语言:一种类似C语言的程序语言,但比C语言要宽松得多,非常方便。二.程序①斯特芬森加速迭代functionsteffensen(f,xO,p,max)%puxu^~Ey%3oOp%3/4«5EOp%puzuxizIEyx(1)=x0;g=inline(f);disp(sprintf(*3oOpxO:%f*,xO))disp(*ix(i)y(i)z(i)’)fori=l:maxy(i)=g(x(i
4、));z(i)=g(y(i));x(i+l)=x(i)-(((y(i)-x(i))A2)/(z(i)-2*y(i)+x(i)));disp(sprintf(1%d%f%f%f*,i,x(i),y(i),z(i)))if(abs(x(i+1)-x(i)))DO^~Ey%aI2OD,uQ0^apAx6iE>%biaOD,uQ0^apA66l&%epsl3,upA3/4«^E%rootI§Qo3opA2~EyA
5、apak=0;if(nargin==3)eps=l.Oe-8;endfl=subs(sym(f),findsym(sym(f)),a);f2=subs(sym(f),findsym(sym(f)),b);if(fl==0)root=a;endif(f2==0)root=b;endif(fl*f2>0)disp(*A^^Epa2'EyOp3E»yzoOUO!*);return;elsetol=l;fun=diff(sym(f));fa=subs(sym(f),findsym(sym(f)),a);fb=subs(sym(f),findsym(sym(f)),b);dfa=subs(sy
6、m(fun),findsym(sym(fun)),a);dfb=subs(sym(fun),findsym(sym(fun)),b);if(dfa>dfb)root=a-fa/dfa;elseroot=b-fb/dfb;endwhile(tol>eps)rl=root;fx=subs(sym(f),findsym(sym(f)),r1);dfx=subs(sym(fun),findsym(sym(fun)),rl);root=rl-fx/dfx;tol=abs(root-rl);k=k+l;endenddisp(sprintf('piizuzIEy£Qk=%d*,k));disp(s
7、printf(1’))7控制台输入代码:⑴>>steffensen(1(x^-exp(x)+2)/3’,1.5,1.Oe-8,20)>>Newton(1xA2-3*x+2-exp(x)’,0,2)(2)>>steffensen(1(20-xA3-2*xA2)/101,1.5,1.0e-8z20)>>Newton(1xA3+2*xA2+10*x-20’,0,2)一.实验结果比较与分析(1)①斯特芬森加速迭代>>steffensenC(x•2-exp•:x)+