数值分析实验三(共7页).doc
精选优质文档-倾情为你奉上数学与计算科学学院实 验 报 告实验项目名称 方程求根 所属课程名称 数值方法B 实 验 类 型 验证 实 验 日 期 2013-12-4 班 级 学 号 姓 名 成 绩 一、实验概述:【实验目的】1、熟练掌握用迭代法和牛顿法求非线性方程问题;2、熟练掌握运用matlab解决数值方法的问题。【实验原理】迭代法的原理:定理6.1假定函数满足下列两项条件: 对于任意,有,存在正数,使对于任意,有,则迭代过程对于任意初值均收敛于方程的根,且有如下的误差估计式:。迭代法的计算步骤:1、准备 提供迭代初值;2、迭代 计算迭代值 ;3、控制 检查:若(为预先指定的精度),则以替换转步2继续迭代;当时终止计算,取作为所求的结果。牛顿法原理:对于方程,先将它改写成的形式,即需要针对所给的函数构造合适的迭代函数。可令,这是相应的迭代公式是 运用前述加速技巧,对于迭代过程,其加速公式具有如下形式:记,上面两个式子可以合并写成这种迭代公式通常称为简化的Newton公式,其相应的迭代函数是 需要注意的是,由于是的估计值,而,这里的实际上是的估计值。如果代替中的,则得到如下形式的迭代函数:其相应的迭代公式牛顿法的计算步骤:1、 准备 选定初始近似值,计算,;2、 迭代 按公式迭代一次,得新的近似值,计算3、 控制 如果满足或,则终止迭代,以作为所求的根;否则转步4.此处,是允许误差,而其中是取绝对误差或相对误差的控制常数,一般可取,4、 修改 如果迭代次数达到预先指定的次数或者,则方法失败,否则以代替转步2继续迭代。【实验环境】Windows 7 Matlab 2010a二、实验内容:【实验方案】1、用迭代法求方程2x3-x-1=0的在初值x0=0根;分别选取迭代函数为x1=和x2=求解。分析比较迭代函数选取的不同对收敛性的影响2、用牛顿法求x3-x-1=0在x0=1.5和x0=0附近的根,迭代10次。分析比较初值的选取对迭代法的影响【实验过程】(实验步骤、记录、数据、分析)1、编写相关程序,并运行;2、分析数据迭代法:x1x210.0.21.0.31.0.41.0.51.0.61.0.71.0.81.-1.91.inf101.inf111.inf从上图的计算结果可以看出X1的结果随着迭代次数的增多而逐渐趋于稳定,X2的迭代方法结果很不稳定,最终导致数字溢出,因此x1=的收敛性更好。牛顿法:x=1.5x=010.0.2-1.-5.3-0.-3.4-3.-2.5-2.-1.6-1.-1.7-0.-0.8-0.-11.9-1.-7.10-0.-5.11-0.-3.从上图看出,随着迭代次数的增加,两者的结果都在逐步趋于稳定,但是x=1.5迭代超过8次,x=0迭代超过7次以后,结果就开始不得不够稳定,总的来看,x=1.5的迭代效果更好,更具有收敛性。【实验结论】(结果)1、同一个方程,运用迭代法计算,运算的结果与迭代时选的的方程有极大的关系;2、牛顿法对方程迭代时,运算的结果与选择的初值有极大关系【实验小结】(收获体会)1. 通过实验,更加深入了解牛顿法和迭代法对方程的求解,理解了求解释方程的选择与初值的选择对根的影响。2.增强了MATLAB的编程能力。三、指导教师评语及成绩:评 语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确. 成 绩: 指导教师签名: 批阅日期:附录1:源 程 序1、x=ones(1,10);y=ones(1,10);x(1)=0;y(1)=0;for i=1:10 x(i+1)=(x(i)+1)(1/3); y(i+1)=2*(y(i)3)-1;endxy2、eps=10(-5);x=ones(1,10);y=ones(1,10);x(1)=0;y(1)=0.5;for i=1:10 x(i+1)=x(i)-(x(i).3-x(i)-1)/(3*x(i).2-1); y(i+1)=y(i)-(y(i).3-y(i)-1)/(3*y(i).2-1); if(abs(x(i+1)-x(i)<eps&&abs(y(i+1)-y(i)<eps) break; endendxy专心-专注-专业