1 / 7
文档名称:

数值分析matlab完整版实验报告.doc

格式:doc   大小:233KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数值分析matlab完整版实验报告.doc

上传人:小博士 2019/1/10 文件大小:233 KB

下载得到文件列表

数值分析matlab完整版实验报告.doc

文档介绍

文档介绍:运用Matlab求解非线性方程的根学院专业班级姓名学号1•目的掌握非线性方程求根的方法,并选取实例运用MATLAB软件进行算法的实现,分别用牛顿法、弦截法和抛物线法求非线性方程的根。报告选题报告选取《数值分析(第四版)》290页****题7作为研究对象,即求/(x)=x3-3x-l=0在附近的根。根的准确值%=...,要求结果准确到四位有效数字。用牛顿法;用弦截法,取%=2,%,=;用抛物线法,取xQ=l,%,=3,x2=2。理论基础牛顿迭代法牛顿迭代法是一种特殊的不动点迭代法,其计算公式为W载,k=Q,',2,…其迭代函数为/’U)牛顿迭代法的收敛速度,当时,容易证沪”(x*)=厂(#)*0明,fW,牛顿迭代法是平方收敛的,且/"(X*)2/’(浐)弦截法将牛顿迭代法中的/1(~)用八<在&处的一阶差商来代替,即可得弦截法抛物线法弦截法可以理解为用过0两点的直线方程的根近似替/u)=o的根。若己知/(4=o的三个近似根々,Xy,人_2用过(x々,/(七)),(xk_r,f(xk_{)),(xk_2,/(\_2))的抛物线方程的根近似代替,(又)=0的根,所得的迭代法称为抛物线法,也称密勒(Muller)法。MATLAB实现根据牛顿法、弦截法和抛物线法求非线性方程根的理论基础,为实现计算在MATLAB中编写了以下M文件:,题目中的函数ffunctiony=f(x)y=xA3-3*x-l;,函数f的异数functiony=d(x)y=3*xA2-3;,牛顿法functionnewton(f,d,xO,e,max)%f是要求根的方程(f(x)=0);%d是f(x)的导数;%x0是所给初值,位于x*附近;%e是给定允许误差;%max是迭代的最大次数;%xl是newton法求得的方程的近似解;%err是误差估计;%k是迭代次数;值;k=0;y=feval(1f▼,xO);fprintf(1k=%.Ofx%d=%.8f y%d=%.6e\nT,k,k,xO,k,y)fork=l:maxxl=xO-feval(▼f▼,xO)/feval(1dT,xO);err=abs(xl-);xO=xl;y=feval(▼f▼,xO);fprintf(1k=%.Ofx%d=%.8fe%d=%.6ey%d=%.6e\n1,k,k,xO,k,err,k,y)if(err<e)I(y==0)|(k==max)break;endend(4)(f,xO,xl,e,max)%f是要求根的方程(f(x)=0);%x0,xl是所给初值,位于x*附近;%e是给定允许误差;%max是迭代的最大次数;%xl是弦截法求得的方程的近似解;%err是误差估计;%k是迭代次数;值;fprintf(*k=%.Ofx%d=%.8fy%d=%.8e\n',0,0,x0,0,feval(’f’,xO))fprintf(*k=%.Ofx%d=%.8fy%d=%.8e\n',1,l,xl,1,feval('f’,xl))fork=2:maxx2=xl-(feval('f▼,xl)*(xl-xO))/(feval('f',xl)-feval(*ffzx0));err=abs(x2-