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

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

ID:18987650

大小:197.00 KB

页数:7页

时间:2018-09-27

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

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

1、《数值分析》报告《数值分析》报告运用Matlab求解非线性方程的根学院:专业:班级:姓名:学号:6《数值分析》报告1.目的掌握非线性方程求根的方法,并选取实例运用MATLAB软件进行算法的实现,分别用牛顿法、弦截法和抛物线法求非线性方程的根。2.报告选题报告选取《数值分析(第四版)》290页习题7作为研究对象,即求在附近的根。根的准确值,要求结果准确到四位有效数字。(1)用牛顿法;(2)用弦截法,取,;(3)用抛物线法,取,,。3.理论基础(1)牛顿迭代法牛顿迭代法是一种特殊的不动点迭代法,其计算公式为其迭代函数为牛顿迭代法的收敛速度,当时,容易证明,,,牛顿迭代法是平方

2、收敛的,且。(2)弦截法将牛顿迭代法中的用在,处的一阶差商来代替,即可得弦截法。(3)抛物线法6《数值分析》报告弦截法可以理解为用过两点的直线方程的根近似替的根。若已知的三个近似根,,用过的抛物线方程的根近似代替的根,所得的迭代法称为抛物线法,也称密勒(Muller)法。1.MATLAB实现根据牛顿法、弦截法和抛物线法求非线性方程根的理论基础,为实现计算在MATLAB中编写了以下M文件:(1)f.m,题目中的函数ffunctiony=f(x)y=x^3-3*x-1;(2)d.m,函数f的导数functiony=d(x)y=3*x^2-3;(3)newton.m,牛顿法fu

3、nctionnewton(f,d,x0,e,max)%f是要求根的方程(f(x)=0);%d是f(x)的导数;%x0是所给初值,位于x*附近;%e是给定允许误差;%max是迭代的最大次数;%x1是newton法求得的方程的近似解;%err是误差估计;%k是迭代次数;%y是f(x)值;k=0;y=feval('f',x0);fprintf('k=%.0fx%d=%.8fy%d=%.6e',k,k,x0,k,y)fork=1:maxx1=x0-feval('f',x0)/feval('d',x0);err=abs(x1-1.87938524);6《数值分析》报告x0=x1

4、;y=feval('f',x0);fprintf('k=%.0fx%d=%.8fe%d=%.6ey%d=%.6e',k,k,x0,k,err,k,y)if(err

5、(y==0)

6、(k==max)break;endend(1)xjmethod.m弦截法functionxjmethod(f,x0,x1,e,max)%f是要求根的方程(f(x)=0);%x0,x1是所给初值,位于x*附近;%e是给定允许误差;%max是迭代的最大次数;%x1是弦截法求得的方程的近似解;%err是误差估计;%k是迭代次数;%y是f(x)值;fprintf('k=%.0fx%d=%.8fy

7、%d=%.8e',0,0,x0,0,feval('f',x0))fprintf('k=%.0fx%d=%.8fy%d=%.8e',1,1,x1,1,feval('f',x1))fork=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=%.0fx%d=%.8fe%d=%.6ey%d=%.8e',k,k,x1,k,err,k,y)if(err

8、(y==0)

9、

10、(k==max)break;end6《数值分析》报告end(1)pwxmethod.m抛物线法functionpwxmethod(f,x0,x1,x2,e,max)%f是要求根的方程(f(x)=0);%x0,x1,x2是所给初值,位于x*附近;%e是给定允许误差;%max是迭代的最大次数;%x3是弦截法求得的方程的近似解;%err是误差估计;%k是迭代次数;%y是f(x)值fprintf('k=%.0fx%d=%.8fy%d=%.8e',0,0,x0,0,feval('f',x0))fprintf('k=%.0fx%d=%.8fy%d=%.8e',1,1,x1,

11、1,feval('f',x1))fprintf('k=%.0fx%d=%.8fy%d=%.8e',2,2,x2,2,feval('f',x2))fork=3:maxf0=feval('f',x0);f1=feval('f',x1);f2=feval('f',x2);a=(f0-f2)/(x0-x2);b=(f1-f2)/(x1-x2);c=(a-b)/(x0-x1);w=b+c*(x2-x1);ifw<0x3=x2-(2*f2/(w-sqrt(w^2-4*c*f2)));elseifw>0x3=x2-(2*f2/(w+sq

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

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

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