数值分析实验报告——方程求根(共6页).doc

上传人:飞****2 文档编号:13887580 上传时间:2022-05-01 格式:DOC 页数:6 大小:141KB
返回 下载 相关 举报
数值分析实验报告——方程求根(共6页).doc_第1页
第1页 / 共6页
数值分析实验报告——方程求根(共6页).doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《数值分析实验报告——方程求根(共6页).doc》由会员分享,可在线阅读,更多相关《数值分析实验报告——方程求根(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上数值分析实验报告班级 信科1501 学号 姓名 梁恩昊 日期 2017.10.3 学 院数学科学学院专 业信息与计算科学课程名称数值分析成 绩实验一 方程求根 一、 实验目的: 掌握二分法、Newton法、不动点迭代法、弦截法求方程的根的各种计算方法、并实施程序调试和运行,学习应用这些算法于实际问题。二、 实验内容: 二分法、Newton法、不动点迭代法、弦截法求方程的根、程序的调试和运行,给出实例的计算结果。观察初值对收敛性的影响。三、 实验步骤: 、二分法:定义:对于区间a,b上连续不断且f(a)f(b)0的函数y=f(x),通过不断地把函数f(x)的零点所在的区

2、间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。实现方法:首先我们设一方程400*(x4)-300*(x3)+200*(x2)-10*x-1=0,并求其在区间0.1,1上的根,误差限为e=10-4。PS:本方法应用的软件为matlab。disp(二分法) a=0.1;b=1; tol=0.0001; n0=100; fa=400*(a.4)-300*(a.3)+200*(a.2)-10*a-1; for i=1:n0 p=(a+b)/2;fp=400*(p.4)-300*(p.3)+200*(p.2)-10*p-1; if fp=0|(abs(b-a)/2)0 a=

3、p; else b=p; end;end; if i=n0&(fp=0|(abs(b-a)/2)tol) disp(n0)disp(次二分迭代后没有求出方程的根) end;程序调试:运行结果:用二分法求得方程的根p= 0.1108二分迭代次数为: 14 Newton法定义:取定初值x0,找到函数对应的点,然后通过该点作函数切线,交x轴,得到新的横坐标值,然后找函数对应的点,做切线,得到新的横坐标值,重复上述步骤,多次迭代,直到收敛到需要的精度。实现方法:我们与二分法一样,先设一方程400*(x4)-300*(x3)+200*(x2)-10*x-1=0,并求其在区间0.1,1上的根。PS:本方法

4、应用的软件为matlab。syms x;diff(400*(x.4)-300*(x.3)+200*(x.2)-10*x-1) %求导方程函数文件:function Newton=fun(a)Newton=400*(a.4)-300*(a.3)+200*(a.2)-10*a-1;endfunction Newton2=dfun(b)Newton2=1600*b3-900*b2+400*b-10; %fun函数的导数end 主程序:x0=1;while 1x1=x0-fun(x0)/dfun(x0);if abs(x1-x0)1e-8 | abs(fun(x1)1e-10break;endx0=x

5、1;enddisp(用牛顿法求得的方程的根为:x=)disp(x1)程序调试:运行结果:用牛顿法求得的方程的根为: x=0.1108 、不动点迭代法:采用不动点迭代法计算x3+4x2-10=0,在区间1,2上的一个根。PS:本方法应用的软件为matlab。不动点迭代法程序:函数文件:function y,n=BDD(x,eps)if nargin=1eps=1.0e-6;elseif nargin=1e-6)&(n BDD(1)n =21ans =1.3652 、弦截法:定义:弦截法是求非线性方程近似根的一种线性近似方法。它是以与曲线弧AB对应的弦AB与x轴的交点横坐标作为曲线弧AB与x轴的交

6、点横坐标的近似值来求出方程的近似解。该方法一般通过计算机编程来实现。弦截法的原理是以直代曲即用弦(直线)代替曲线求方程的近似解,也就是利用对应的弦 与 轴的交点横坐标来作为曲线弧 与 轴的交点横坐标 的近似值。实现方法:我们与二分法一样,先设一方程400*(x4)-300*(x3)+200*(x2)-10*x-1=0,并求其在区间0.1,1上的根。PS:本方法应用的软件为matlab。函数文件:functionp1,err,k,y=secant(f,p0,p1,delta,max1)% f是非线性函数 %p0,p1是初始值 %delta是给定允许误差 %max1是迭代次数的上限 %p1是所求得

7、的方程的近似解 %err是p1-p0的误差估计 %k是所需要的迭代次数 %y=f(p1) K=0,p0,p1,feval(f,p0),feval(f,p1) for k=1:max1p2=p1-feval(f,p1)*(p1-p0)/(feval(f,p1)-feval(f,p0);err=abs(p2-p1); p0=p1; p1=p2; k,p1,err,y=feval(f,p1) if(errdelta)|(y=0), break,endendendM文件:secant(400*(x4)-300*(x3)+200*(x2)-10*x-1=0,0,1,1.0e-4,100);disp(用弦截法求得的方程的根为:x=)disp(p1)运行结果:用弦截法求得的方程的根为: x=0.1108四、 实验中遇到的问题及解决方法:MATLAB运用不熟练,于是翻开以前的课本与ppt,并结合网上查阅的资料,才又掌握了一些基础的运用方法。一开始忘了怎么创建函数文件,于是实现二分法的程序时变得十分麻烦。后来复习过后,运用在牛顿法上,就简单了许多。二分法与牛顿法是比较容易掌握并实现的,而后两个方法则是查阅了很多资料,却仍然似懂非懂,程序也是大部分参考了资料。我将在此之后继续钻研它们,直到能熟练运用为止。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁