数值分析实验报告之方程求根演练_第1页
数值分析实验报告之方程求根演练_第2页
数值分析实验报告之方程求根演练_第3页
数值分析实验报告之方程求根演练_第4页
数值分析实验报告之方程求根演练_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数学与计算科学学院实 验 报 告实验项目名称 方程求根演练 所属课程名称 数值方法B 实 验 类 型 验证 实 验 日 期 2013.12.3 班 级 学 号 姓 名 成 绩 一、实验概述:【实验目的】1.掌握迭代法和牛顿迭代法求解非线性方程组;2.掌握方程求解的基本方法迭代法以及牛顿迭代法;3.研究选取不同迭代函数对收敛性的影响;【实验原理】1.迭代公式收敛定理方程 x = g ( x )在( a , b )内有根 x*,如果: 当xÎa,b时,g( x)Îa,b; g ( x)可导,且存在正数 q < 1,使得对于任意xa,b都有|q < 1.则有以下结论:

2、 方程x = g ( x)在(a , b)内有唯一的根x*。 迭代公式对(a , b)内任意初始近似根均收敛于x*。 近似根的误差估计公式为:2.牛顿法收敛定理设在区间上有二阶连续导数,且满足,在上不变号, 在上不等于0,令有.则对任意,牛顿迭代格式收敛于在中的唯一实根,并且: ,牛顿迭代法为2阶收敛。【实验环境】1.硬件环境:HPMicrosoft76481-640-8834005-23929HP CorporationIntel(R) Core(TM)I5-2400 CPU 3.10GHz3.09GHz,3.16GB的内存2.软件环境:Microsoft Windows XPProfess

3、ional版本 2002Service Pack 3二、实验内容:【实验方案】方案一:1验证迭代法求解教材p141例题6.3 求方程在附近的根;2.牛顿法求解教材P150例题6.7 求方程在取初值的根。方案二:1.用迭代法求方程的在初值根;分别选取迭代函数为和求解。分析比较迭代函数选取的不同对收敛性的影响。2.用牛顿法求在和附近的根,迭代10次。 分析比较初值的选取对迭代法的影响。【实验过程】(实验步骤、记录、数据、分析)1方程在附近的根(迭代法) 知初值取1.5,首先我们通过MATLAB的solve函数,求得在附近的根为1.324718。通过迭代,得到下表:表1 迭代次数与迭代值迭代次数迭代

4、值迭代次数迭代值 01.5101.3572111.3572111 1.330862 1.3308612 1.325883 1.3258813 1.324944 1.3249414 1.324765 1.3247615 1.324736 1.3247316 1.324727 1.3247217 1.324728 1.3247218 1.324729 1.32472191.35721图 1 牛顿迭代法的迭代次数与迭代值的变化趋势从表1和图1可以看出,如果仅取六位数字,迭代第7次时已经满足方程的根,而迭代次数与迭代值的变化趋势图表明迭代法在选取合适的初值时有很好的收敛性,而且迭代次数较少的情况下就能

5、得到比较精确地解,所以验证比较成功,迭代法是一种收敛性效果很好的方程求根的数值解法。2方程在附近的根(牛顿法)知初值取0.5,首先我们通过MATLAB的solve函数,求得方程在取初值的根为0.567143。通过MATLAB程序的计算,牛顿法的迭代法计算的相应的结果见下表:表2 牛顿法求解方程的迭代结果迭代次数迭代值迭代次数迭代值 00.5100.5671432910.57102044110.5671432920.56715557120.5671432930.56714329130.5671432940.56714329140.5671432950.56714329150.5671432960

6、.56714329160.5671432970.56714329170.5671432980.56714329180.5671432990.56714329190.56714329图2 牛顿迭代法的迭代次数与迭代值的变化趋势从表2和图2可以看出,迭代次数较少的情况下就能得到比较精确地解,所以验证比较成功,迭代法是一种收敛性效果很好的方程求根的数值解法。3 迭代函数选取的不同对收敛性的影响用迭代法求方程的在初值根;分别选取迭代函数和求解。分析比较迭代函数选取的不同对收敛性的影响。首先我们通过MATLAB求得方程的精确解为1.000000。然后我们分别用迭代法来计算上述两个迭代函数对收敛性的影响,

7、迭代次数分别为20次,经过MATLAB计算,对不同的迭代函数相应结果见表3: 表3 迭代次数与迭代值(图3)迭代次数迭代值迭代次数迭代值迭代次数迭代值迭代次数迭代值 00.000000101 0010-Inf10.7937011111-1.011-Inf20.9643621212-312-Inf30.9940251313-5513-Inf40.9990031414-33275114-Inf50.9998341515(-7.36865)*101615-Inf60.9999721616-Inf16-Inf70.9999951717-Inf17-Inf80.9999991818-Inf18-Inf9

8、11919-Inf19-Inf 图3 牛顿迭代法的迭代次数与迭代值的变化趋势通过选取迭代函数分别为和,迭代效果明显不同,而且可以看出在迭代函数为时,迭代法有很好的收敛性,但是可以看出迭代法的效果并不是总能令人满意,当迭代函数为时,迭代的结果越来越趋近与负无穷大,不可能趋近与某个极限,所以该迭代过程是发散的。通过比较,迭代函数的选取对迭代法的收敛性有很大的影响,只有在满足相关约束条件下的迭代函数才能作为迭代法的迭代函数。4 初值的选取对牛顿迭代法的影响用牛顿法求在和附近的根,迭代10次。分析比较初值的选取对迭代法的影响。首先我们用MATLAB的solve函数求得的精确解为1.32472(精确为6

9、位有效数字),然后用牛顿迭代法在选取初值分别为和附近的根,然后再分析初值得选取对迭代法的影响。经过MATLAB计算,以后为相应的计算结果。表5 迭代次数与迭代值(图4)(图5)迭代次数迭代值迭代次数迭代值迭代次数迭代值迭代次数迭代值 0010-0.404949 01.5101.324721-111-1.70690011.34783111.324722-0.512-1.15576021.32520121.324723-313-0.69419231.32472131.324724-2.038460140.74249441.32472141.324725-1.390280152.78130051.3

10、2472151.324726-0.911612161.98273061.32472161.324727-0.345028171.53693071.32472171.324728-1.427750181.35726081.32472181.324729-0.942418191.32566091.32472191.32472图4 牛顿迭代法的迭代次数与迭代值的变化趋势图5 牛顿迭代法的迭代次数与迭代值的变化趋势从初值为和的迭代值的变化趋势图可以看出,初值为1.5时和初值为0时都有一定的收敛性,但明显可以看出初值为1.5时的收敛性比初值为0时要强很多,初值为0时收敛有一定的波动性,当迭代次数超过30

11、次时才有较强的收敛性,而初值为1.5时迭代7次后就已经具备很好的收敛性,所以初值的选取对牛顿法的收敛性有很强的影响,下图为不同初值时的迭代效果的比较:图6 初值为0和1.5时迭代值的变化趋势【实验结论】(结果)1.迭代次数与迭代值的变化趋势图表明迭代法在选取合适的初值时有很好的收敛性,而且迭代次数较少的情况下就能得到比较精确地解,所以验证比较成功,迭代法是一种收敛性效果很好的方程求根的数值解法。2.迭代函数的选取对迭代法的收敛性有很大的影响,只有在满足相关约束条件下的迭代函数才能作为迭代法的迭代函数。3.从上述几个表格和图形,明显可以看出初值为1.5时的收敛性比初值为0时要强很多,初值为0时收

12、敛有一定的波动性,当迭代次数超过30次时才有较强的收敛性,而初值为1.5时迭代7次后就已经具备很好的收敛性,所以初值的选取对牛顿法的收敛性有很强的影响。【实验小结】(收获体会)通过本次试验,我掌握了牛顿法以及迭代法的初等性质,熟悉了它的代码编程,并将牛顿迭代法运用到实例中,加以验证。运用迭代法来求方程的根,并分析选取不同迭代函数对迭代法收敛性的影响以及初值的选取对牛顿迭代法收敛的影响。当然,数值分析相对来说也是一门依赖于各种编程软件的学科,在本节实验中,我对MATLAB的应用有了更深的了解。也深刻意识到掌握并灵活运用数值方法和运用MATLAB软件编写程序的重要性。三、指导教师评语及成绩:评 语

13、评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确. 成 绩: 指导教师签名: 批阅日期:附录1:源 程 序1/*不同迭代函数的图象*/clear allclcclfsyms x;y1=x.3-1;y2=(x+1).(1/3);t=linspace(1.5,1,1000);N=length(t);Y1=;Y2=;for i=1:N Y1(i)=subs(y1,t(i); Y2(i)=subs(y2,t(i);endplot(t,Y1,t,Y2);legend('y1&

14、#39;,'y2');xlabel('X轴');ylabel('Y轴');title('不同迭代函数的图象')2/*不同迭代函数时迭代法的MATLAB程序*/x=;x(1)=0;r=1;t=0;h=1;for n=1:19while r<n+1 x(r+1)=dd(x(r); a=x(r); b=x(r+1); r=r+1;endT(h)=r-1;t(h)=abs(b-a);X(h)=x(r);h=h+1;enddisp('绝对误差');t=vpa(t,6)disp('迭代次数');disp(

15、T);disp('方程的近似解');X=vpa(X,6)B=T',X',t'jie=1;cov=abs(B(:,2)-jie);figure1 = figure('PaperPosition',0.6345 6.345 20.3 15.23,'PaperSize',20.98 29.68);axes1 = axes('Parent',figure1);hold(axes1,'all');plot(B(:,1)',B(:,2)');annotation1 = annotatio

16、n(figure1,'arrow',0.131 0.131,0.92 0.96);annotation2 = annotation(figure1,'arrow',0.88 0.96,0.108 0.108);figure2 = figure('PaperPosition',0.6345 6.345 20.3 15.23,'PaperSize',20.98 29.68);axes1 = axes('Parent',figure2);hold(axes1,'all');plot(B(:,1)'

17、,cov')annotation1 = annotation(figure2,'arrow',0.131 0.131,0.92 0.96);annotation2 = annotation(figure2,'arrow',0.88 0.96,0.108 0.108);3/*不同初值时的牛顿迭代法的MATLAB程序*/x=;x(1)=0;%初值r=1;n=input('请输入迭代次数:');for i=1:n x(r+1)=x(r)-myfun(x(r)./daoshu(x(r); r=r+1;endN=1:n+1;B=N',x&#

18、39;B=vpa(B,6);X=1.32472;cov=abs(B(:,2)-X);figure1 = figure('PaperPosition',0.6345 6.345 20.3 15.23,'PaperSize',20.98 29.68);axes1 = axes('Parent',figure1);hold(axes1,'all');plot(B(:,1),B(:,2);annotation1 = annotation(figure1,'arrow',0.131 0.131,0.92 0.96);annotation2 = annotation(figure1,'arrow',0.88 0.96,0.108 0.108);figure2 = figure('PaperPosition',0.6345 6.345 20.3 15.23,'PaperSize',20.98 29.68);axes2 = axes('Pare

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论