资源描述:
《数值分析非线性方程求根实验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验报告一、实验目的1.迭代闲数对收敛性的影响。2.初伉的选择对收敛性的影响。二、实验题目1.用简单迭代法求方程/Cr)=x3-x—1=0的根。最大迭代次数为500,观察其计算结果并加以分析。分别化方程为如下等价方程:%=+1;%=X3-1;X=取初值x()=1.5,精度为KT4,2.①用牛顿法求方程/(x)=x3+X-1=0在0.5附近的根,分别取初值乂=-1000-100-2-1-0.5,0.54,2,100,1000观察并比较计算结果,并加以分析。②用牛顿法求方程/(%)=%3-x=0所有根。三、实验原
2、理简单迭代法程序,牛顿迭代法程序。实验内容及结果1.用简单选代法求方程=X—1=0的根:1)先输入简单迭代法的M程序,在MATLAB的M文件窗口中输入以下内容并保存:functionx=maiter(phi,x0,ep,N)ifnargin<4N=500;endifnargin<3ep=le-4;endk=0;whilek3、,num2str(k)])1)再输入以下程序,在M文件窗口输入以下内容并保存:clc;clear;formatlongxl=maiter(inline('(x+1)A(1/3)'),1.5,le-5)x2=maiter(inline(*xA3-l*),1.5,le-5)x3=maiter(inline(’(1+1/x)A(1/2)’),1.5,le-5)x4=maiter(inline('(xA3+x-l)/2')z1.5,le-5)2)主窗口品示的结果为:k=6x=1.324719474534364k=50
4、0x2=Infk=7x=1.32471868894279lk=500x4=Inf2.用牛顿迭代法求方程=x3+%—1=0在0.5附近的根:1)先输入牛顿迭代法的M程序,在MATLAB的M文件窗口屮输入以下内容并保存:functionx=manewton(fun,dfun,xO,ep,N)ifnargin<5,N=500;endifnargin<4,ep=le-4;endk=0;whilek5、=x;k=k+l;endifk==N,warning(,已达迭代次数上限’);enddisp(['k='znum2str(k)])2)再输入以下程序,在M文件窗口输入以下内容并保存:clc;clear;formatlongfun=inline(■xA3-x-l1);dfun=inline('3*x^2-l');-1000,xl=manewton(fun,dfun,-1000,le-4)-100,x2=manewton(fun,dfun,-100,le-4)一2,x3=manewtor»(fun,dfun,-2
6、,le-4)-1,x4=manewton(fun,dfun,-1,le-4)-0.5,x5=manewton(fun,dfun,-0•5,le-4)0.5,x6=manewton(fun,dfun,0.5,le-4)1,x7=manewton(fun,dfun,1,le-4)1,x8=manewton(fun,dfun,2,le-4)100,x9=manewton(fun,dfun,100,le-4)1000,xlO=manewton(fun,dfun,1000,le-4)1)在MATLAB的主程序窗U输出以
7、下结果:ans=-1000k=21xl=0.682327804075895ans=-10()k=16x2=0.682327803903413ans=-2k=6x3=0.682327803828020ans=-1k=5x4=0.682327803828020ans=-0.500000000000000k=4x5=0.682327803903932ans=().500000000000000k=3x6=0.682327803828347ans=1k=3x7=0.682327803946513ans=2k=5x8=
8、0.682327803828368ans=100k=14x9=0.682327807263074ans=1000k=20x!0=0.6823278038536191.用牛顿法求方程=x=0所有根:1)由于之前已经输过牛顿迭代法的M程序,所以可以直接调用。输入以下内容并保存:clc;clear;formatlongfun=inline(1xA3-x1);dfun=inline(*3*xz<2-l*);