数值分析matlab试验报告_第1页
数值分析matlab试验报告_第2页
数值分析matlab试验报告_第3页
数值分析matlab试验报告_第4页
数值分析matlab试验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析报告运用Matlab求解非线性方程的根学 院:专 业:班 级:姓 名: 学 号:数值分析报告11.1.目的掌握非线性方程求根的方法,并选取实例运用MATLAB软件进行算法的实 现,分别用牛顿法、弦截法和抛物线法求非线性方程的根。2.2.报告选题报告选取数值分析(第四版) 290贞习题7作为研究对象,即求3f(x)=x -3x-1=0在x=2附近的根。根的准确值x =1.87938524.,要求结 果准确到四位有效数字。(1)用牛顿法;(2)用弦截法,取x0= 2 , x1=1.9;(3)用抛物线法,取x0=1 , x1=3 , x2=2。3.3.理论基础(1)牛顿迭代法牛顿迭代法是一种

2、特殊的不动点迭代法,其计算公式为f(x)xk 1 =xk -、,k二。,1,2,.f (xj其迭代函数为牛顿迭代法的收敛速度,当f(x*)=0,f(x*)#0,f(x*),0时,容易证(x*) = * =0明,f(x*)# ,f(x*),牛顿迭代法是平方收敛的,且(2)(2)弦截法将牛顿迭代法中的f(xJ用f(x)在4,xk处的一阶差商来代替,即可得弦截法f(xk)(、F-一(曰心f(xk) - f(xk4),(x) = x-f(x)f (x)数值分析报告err=abs(x3-1.87938524);2(3)抛物线法数值分析报告3弦截法可以理解为用过(Xjf(”,(* -f(Xk)两点的直线方

3、程的根近似 替f(X)=。的根。若已知f(X)=的三个近似根Xk ,如,处用过(xk, f(x ) )X f, M)kX,( f咐觥物她程的根近似代替f (X)=。的根,所得的迭代法称为抛物线法,也称密勒(Muller)法。4.4. MATLABMATLAB实现根据牛顿法、 弦截法和抛物线法求非线性方程根的理论基础, 为实现计算 在MATLAB中编写了以下M文件:(1) f.m,题目中的函数ffunction y=f(X)y=X人3-3*X-1;(2)d.m,函数f的导数function y=d(X)y=3*XA2-3;(3)newton.m,牛顿法function newton(f,d,X,

4、e,maX)%f是要求根的方程(f(X)=0);%d是f(X)的导数;%X。是所给初值,位丁X*附近;%是给定允许误差;%maX!迭代的最大次数;%X1是newton法求得的方程的近似解;%err是误差估计;%k迭代次数;%尸是f(X)值;k=;y=feval(f ,X);fprintf(k=%.0f x%d=%.8fy%d=%.6enfor k=1:maxx1=x-feval( f ,x)/feval( d ,X);,k,k,x,k,y)数值分析报告err=abs(x3-1.87938524);4x0=x1;y=feval(f,x0);fprintf(k=%.0f x%d=%.8f e%d=

5、%.6e y%d=%.6enif (err迭代次数;%尸是f(x)值;fprintf(k=%.0f x%d=%.8fy%d=%.8en,0,0,x0,0,feval(f ,x0)fprintf(k=%.0f x%d=%.8fy%d=%.8en,1,1,x1,1,feval(f ,x1)for k=2:maxx2=x1-(feval(f,x1)*(x1-x0)/(feval(f ,x1)-feval( f,x0);err=abs(x2-1.87938524);x0=x1;x1=x2;y=feval(f,x1);fprintf(k=%.0f x%d=%.8f e%d=%.6e y%d=%.8en,

6、k,k,x1,k,err,k,y)if (erre)|(y=0)|(k=max)break ;endend(5)pwxmethod.m抛物线法,k,k,x0,k,err,k,y)数值分析报告5function pwxmethod(f,x0,x1,x2,e,max)%f是要求根的方程(f(x)=0);%x0,x1, x2是所给初值,位丁x*附近;%是给定允许误差;%maxi迭代的最大次数;%x3是弦截法求得的方程的近似解;%err是误差估计;%k迭代次数;%促f(x)值fprintf( k=%.0f x%d=%.8fy%d=%.8en,0,0,x0,0,feval(f,x0)fprintf( k

7、=%.0f x%d=%.8fy%d=%.8en,1,1,x1,1,feval(f,x1)fprintf(k= %.0f x%d=%.8fy%d=%.8en,2,2,x2,2,feval(f,x2)for k=3:maxf0=feval(f,x0);f1=feval(f,x1);f2=feval(,x2);a=(f0-f2)/(x0-x2);b=(f1-f2)/(x1-x2);c=(a-b)/(x0-x1);w=b+c*(x2-x1);if w0 x3=x2-(2*f2/(w+sqrt(wA2-4*c*f2);end数值分析报告err=abs(x3-1.87938524);6x0=x1;x1=x

8、2;x2=x3;y=feval(f,x2);fprintf(k=%.0f x%d=%.8f e%d=%.6e y%d=%.8en,k,k,x2,k,err,k,y)if (errL.96!28714e0ak:0 xO=l.DDDDDDDDy金OOOQOOOOfl-Kk=lMD00000yl=L.i0000000e-H)01k=2戒叫叩叩口yLOQOOQOOOeWMKJ=1. E93145&2定伽碱 8yl.056302?2e0tllk=1叫=lfl祝6 &4W.4獭独-HEj=-L.89859581e-003k=6 r5=l.Br03E53Oe6=6.621913e-dDB y

9、5s4.L5E!6927i-aa? hovtont f . d数值分析报告721.879451576.632695e-0055.038501e-004数值分析报告8tzt rt *_ _ _ _、i、r即x而X2=1.87945157,误差为6.632695e-005。(2)弦截法计算结果kxkekYk02.000000001.000000e+00011.900000001.59000000e-00121.881093941.708696e-0031.29961633e-00231.879411062.582017e-0051.96128714e-004即X*X3=1.87941106,误差为

10、2.582017e-005。(3)抛物线法计算结果kXkekYk01.00000000-3.00000000e+00013.000000001.70000000e+00122.000000001.00000000e+00031.893149821.376458e-0021.05630272e-00141.879135262.499828e-004-1.89859581e-00351.879385305.621918e-0084.15115927e-007即x*x6=1.87938530,误差为5.621918e-008。6.6.小结迭代法是解非线性方程的主要方法,牛顿法就是最有效的迭代法之一,它 在单根附近具有较高阶的收敛速度。而弦截法用差商代替导数,对丁较复杂的 函数运算变的方便。抛物线法也是超线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论