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

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

ID:22605561

大小:233.50 KB

页数:7页

时间:2018-10-30

数值分析matlab完整版实验报告_第1页
数值分析matlab完整版实验报告_第2页
数值分析matlab完整版实验报告_第3页
数值分析matlab完整版实验报告_第4页
数值分析matlab完整版实验报告_第5页
资源描述:

《数值分析matlab完整版实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、运用Matlab求解非线性方程的根学院专业班级姓名学号1•目的掌握非线性方程求根的方法,并选取实例运用MATLAB软件进行算法的实现,分别用牛顿法、弦截法和抛物线法求非线性方程的根。2.报告选题报告选取《数值分析(第四版)》290页习题7作为研究对象,即求/(x)=x3-3x-l=0在附近的根。根的准确值%=1.87938524...,要求结果准确到四位有效数字。(1)用牛顿法;(2)用弦截法,取%=2,%,=1.9;(3)用抛物线法,取xQ=l,%,=3,x2=2。2.理论基础(1)牛顿迭代法牛顿迭代法是一种特殊的不动点迭代法,其计算公式为W载,k

2、=Q,',2,…其迭代函数为/’U)牛顿迭代法的收敛速度,当时,容易证沪”(x*)=厂(#)*0明,fW,牛顿迭代法是平方收敛的,且/"(X*)2/’(浐)(2)弦截法将牛顿迭代法中的/1(~)用八<在&处的一阶差商来代替,即可得弦截法(3)抛物线法弦截法可以理解为用过0两点的直线方程的根近似替/u)=o的根。若己知/(4=o的三个近似根々,Xy,人_2用过(x々,/(七)),(xk_r,f(xk_{)),(xk_2,/(_2))的抛物线方程的根近似代替,(又)=0的根,所得的迭代法称为抛物线法,也称密勒(Muller)法。2.MATLAB实现根据

3、牛顿法、弦截法和抛物线法求非线性方程根的理论基础,为实现计算在MATLAB中编写了以下M文件:(1)f.m,题目中的函数ffunctiony=f(x)y=xA3-3*x-l;(2)d.m,函数f的异数functiony=d(x)y=3*xA2-3;(3)newton.m,牛顿法functionnewton(f,d,xO,e,max)%f是要求根的方程(f(x)=0);%d是f(x)的导数;%x0是所给初值,位于x*附近;%e是给定允许误差;%max是迭代的最大次数;%xl是newton法求得的方程的近似解;%err是误差估计;%k是迭代次数;值;k=

4、0;y=feval(1f▼,xO);fprintf(1k=%.Ofx%d=%.8fy%d=%.6eT,k,k,xO,k,y)fork=l:maxxl=xO-feval(▼f▼,xO)/feval(1dT,xO);err=abs(xl-1.87938524);xO=xl;y=feval(▼f▼,xO);fprintf(1k=%.Ofx%d=%.8fe%d=%.6ey%d=%.6e1,k,k,xO,k,err,k,y)if(err

5、(k==max)break;endend(4)xjmethod.m弦截法functionxjme

6、thod(f,xO,xl,e,max)%f是要求根的方程(f(x)=0);%x0,xl是所给初值,位于x*附近;%e是给定允许误差;%max是迭代的最大次数;%xl是弦截法求得的方程的近似解;%err是误差估计;%k是迭代次数;值;fprintf(*k=%.Ofx%d=%.8fy%d=%.8e',0,0,x0,0,feval(’f’,xO))fprintf(*k=%.Ofx%d=%.8fy%d=%.8e',1,l,xl,1,feval('f’,xl))fork=2:maxx2=xl-(feval('f▼,xl)*(xl-xO))/(feval

7、('f',xl)-feval(*ffzx0));err=abs(x2-l.87938524);xO=xl;xl=x2;y=feval(▼f▼,xl);fprintf(1k=%.Ofx%d=%.8fe%d=%.6ey%d=%.8e1,k,k,xl,k,err,k,y)if(err

8、(k==max)break;endend(5)pwxmethod.m抛物线法functionpwxmethod(f,x0,xl,x2,e,max)%f是要求根的方程(f(x)=0);%x0,xl,x2是所给初值,位于x*附近;%e是给定允许误差;%ma

9、x是迭代的最大次数;%x3是弦截法求得的方程的近似解;%err是误差估计;%k是迭代次数;值fprintf(*k=%.Ofx%d=%.8fy%d=%.8e,,0,0,x0,0,feval(’f',xO))fprintf('k=%.0fx%d=%.8fy%d=%.8e’,1,l,xl,1,feval(’f’,xl))fprintf('k=%.0fx%d=%.8fy%d=%•8e,,2,2,x2,2,feval('f*zx2))fork=3:maxfO=feval(!fx0);fl=feval('f',xU;f2=feval(!fx2);

10、a=(f0-f2)/(x0-x2);b=(fl-f2)/(xl-x2);c=(a-b)/(xO-xl);w=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。