迭代初值及公式对迭代收敛速度影响_第1页
迭代初值及公式对迭代收敛速度影响_第2页
迭代初值及公式对迭代收敛速度影响_第3页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、实用文档本科生课程设计报告实习课程数值分析学院名称管理科学学院专业名称学生姓名学生学号指导教师实验地点实验成绩二一六年六月标准文案大全实用文档填写说明1、 专业名称填写为专业全称,有专业方向的用小括号标明;2、格式要求:格式要求: 用 A4纸双面打印(封面双面打印)或在A4 大小纸上用蓝黑色水笔书写。 打印排版:正文用宋体小四号,1.5 倍行距,页边距采取默认形式(上下2.54cm,左右 2.54cm,页眉 1.5cm,页脚 1.75cm)。字符间距为默认值 (缩放 100%,间距:标准);页码用小五号字底端居中。 具体要求:题目(二号黑体居中);摘要 ( “摘要”二字用小二号黑体居中,隔行书

2、写摘要的文字部分,小 4 号宋体);关键词(隔行顶格书写 “关键词”三字,提炼 3-5 个关键词,用分号隔开,小 4号黑体);正文部分采用三级标题;第 1 章 ( 小二号黑体居中,段前0.5 行)1.1小三号黑体(段前、段后0.5 行)小四号黑体(段前、段后0.5 行)参考文献 (黑体小二号居中,段前0.5 行),参考文献用五号宋体,参照参考文献著录规则( GB/T 77142005)。标准文案大全实用文档迭代初值及公式对迭代收敛速度影响摘要迭代收敛速度受到迭代函数和初始迭代值的影响。本实验在于体会在非线性方程求根的迭代法中, 迭代函数和初始迭代值的选取对迭代收敛性的影响, sttefense

3、n 加速的效果,并试图总结一些规律。关键词: sttenfensen加速;迭代初值;收敛速度标准文案大全实用文档目录第 1 章 前 言.11.1内容及要求 .11.2研究思路及结构安排 .1第 2章 相关理论知识 .22.1迭代法 .22.2迭代收敛 .2第 3章 算法分析 .33.1单一迭代算法步骤及流程图.3第 4章 算法实现 .44.1程序总体结构 .44.2源程序清单 .54.3程序运行 .11第 5章 结果分析 .14参考文献 .14标准文案大全实用文档第1章前言1.1内容及要求体会在非线性方程求根的迭代法中,迭代函数和初始迭代值的选取对迭代收敛性的影响。考虑一个简单的代数方程x34

4、x2100 ,针对这个方程, 可以构造多种迭代法,如下列几1 (10132xn10xn 1xn3 ) 2种迭代格式: xn 1xn4xn; 2;xn 1104 x要求:1xn34 xn2 102xnxn 13xn28xn;。( 1)取定某个初始值 x0,按如上四种迭代格式进行计算,它们的收敛性如何?重复选取不同的初始值,反复实验,分析四种迭代法的收敛性与初值选取的关系。( 2)选取第种迭代格式( Newton 迭代法),取不同的初始值进行迭代,结果如何?并分析迭代法对不同的初值是否有差异。( 3)对上述四种迭代格式,编制 Steffensen 迭代程序,选取不同的初始值,输出迭代次数和方程的根

5、,并与( 1)、( 2)中的结果进行比较。1.2研究思路及结构安排按照题目要求分别编写公式1-4 以及他们的steffensen加速公式。在每一次的计算中,通过输入不同的迭代初值,然后进行8 个公式的的计算,最后得到每个公式在此迭代初值条件下的表现(得到满足精度要求的近似解的迭代次数)。并且,程序运行过程中通过文件读写将每一次的每个公式的迭代次数都写入到“ data.txt”中,对比一目了然。通过对迭代次数的对比分析可以得到较为清晰的结论。标准文案大全实用文档第 2 章 相关理论知识2.1迭代法迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0 ,用某种数学方法导出

6、等价的形式x=g(x) ,然后按以下步骤执行:(1)选一个方程的近似根,赋给变量x0 ;(2)将 x0的值保存于变量 x1,然后计算 g(x1) ,并将结果存于变量x0;(3)当 x0与 x1 的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0 就认为是方程的根。2.2迭代收敛具体使用迭代法求根时应注意以下两种可能发生的情况:( 1) 如果方程无解,算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考察方程是否有解,并在程序中对迭代的次数给予限制;( 2) 方程虽然有解,但迭代公式选择

7、不当,或迭代的初始近似根选择不合理,也会导致迭代失败标准文案大全实用文档第3章算法分析3.1单一迭代算法步骤及流程图b+;x1=x2;x2=-pow(x1,3)-4*pow(x1,2)+x1+10;是开始x2=x0;x1=0;b=0;fabs(x1-x2)N?结束标准文案大全实用文档第4章算法实现4.1 程序总体结构开始int a=0,b=0;doublex0=0,x1=0,x2=0,x3=0,x4=0;b+;scanf(%d,&x1=x2;a);x2=-pow(x1,3)-4*pow(x1,2)+x1+10;是a=2?否scanf(%lf,x2=x0;x1=0;b=0;fabs(x1-x2)

8、N?其他七个公式&x0);否的相似结构printf(计算完毕n);结束标准文案大全实用文档4.2源程序清单#include#include#define N 0.0001void main()int a=0,b=0;/a为选择项, b 为计数器double x0=0,x1=0,x2=0,x3=0,x4=0;FILE *fp,*fq;fp=fopen(data.txt,w);fq=fopen(strenge.txt,w);fprintf(fp,序号初值式一式二式三式四式一+式二+式三+式四 +n);printf( 此程序为验证不同的迭代函数和初值对迭代收敛速度的影响而设计 n); printf(

9、 以方程 x3+4x2-10=0 为例 n);printf(请选择 :n1. 输入初值进行计算2. 退出 n);scanf(%d,&a);if(a!=1&a!=2)printf(错误,没有该选项,请重新选择n);scanf(%d,&a);标准文案大全实用文档int i=1;while(a!=2)printf(请输入迭代初值 n);scanf(%lf,&x0);fprintf(fp,%d,i);fprintf(fp,%.2f,x0);printf(进行计算 n);x2=x0;/ 公式一迭代x1=0;b=0;while(fabs(x1-x2)N)b+;x1=x2;x2=-pow(x1,3)-4*p

10、ow(x1,2)+x1+10;fprintf(fp,%.2f,b);printf(经过迭代公式一 %d次迭代得到近似解 %6.5fn,b,x2);x2=x0;/ 公式二迭代x1=0;b=0;while(fabs(x1-x2)N)b+;标准文案大全实用文档x1=x2;x2=0.5*pow(10-x1*x1*x1),0.5);fprintf(fp,%d,b);printf(经过迭代公式二 %d次迭代得到近似解 %6.3fn,b,x2);x1=x0;/ 公式三迭代x1=0;b=0;while(fabs(x1-x2)N)b+;x1=x2;x2=pow(10/(4+x1),0.5);fprintf(fp

11、,%d,b);printf(经过迭代公式三 %d次迭代得到近似解 %6.3fn,b,x2);x2=x0;/ 公式四迭代x1=0;b=0;while(fabs(x1-x2)N)b+;x1=x2;x2=x1-(x1*x1*x1+4*x1*x1-10)/(3*x1*x1+8*x1);标准文案大全实用文档fprintf(fp,%d,b);printf(经过迭代公式四 %d次迭代得到近似解 %6.3fn,b,x2);x4=x0;/ 公式一迭代 stffensen加速x1=0;b=0;while(fabs(x1-x4)N)b+;x1=x4;x2=-pow(x1,3)-4*pow(x1,2)+x1+10;x

12、3=-pow(x2,3)-4*pow(x2,2)+x2+10;x4=x1-(pow(x2-x1,2)/(x3-2*x2+x1);printf(经过迭代公式一stffensen加速 %d次迭代得到近似解 %6.3fn,b,x4);fprintf(fq,%d%.3fn,b,x4);fprintf(fp,%d,b);printf(经过迭代公式一stffensen加速 %d次迭代得到近似解 %6.3fn,b,x4);x4=x0;/ 公式二迭代 stffensen加速x1=0;b=0;while(fabs(x1-x4)N)标准文案大全实用文档b+;x1=x4;x2=0.5*pow(10-x1*x1*x1

13、),0.5);x3=0.5*pow(10-x2*x2*x2),0.5);x4=x1-(pow(x2-x1,2)/(x3-2*x2+x1);fprintf(fp,%d,b);printf(经过迭代公式二stffensen加速 %d次迭代得到近似解 %6.3fn,b,x4);x4=x0;/ 公式三迭代 stffensen加速x1=0;b=0;while(fabs(x1-x4)N)b+;x1=x4;x2=pow(10/(4+x1),0.5);x3=pow(10/(4+x2),0.5);x4=x1-(pow(x2-x1,2)/(x3-2*x2+x1);fprintf(fp,%d,b);printf(经

14、过迭代公式三stffensen加速 %d次迭代得到近似解 %6.3fn,b,x4);x4=x0;/ 公式四迭代 stffensen加速x1=0;b=0;标准文案大全实用文档while(fabs(x1-x4)N)b+;x1=x4;x2=x1-(x1*x1*x1+4*x1*x1-10)/(3*x1*x1+8*x1);x3=x2-(x2*x2*x2+4*x2*x2-10)/(3*x2*x2+8*x2);x4=x1-(pow(x2-x1,2)/(x3-2*x2+x1);fprintf(fp,%dn,b);printf(经过迭代公式四stffensen加速 %d次迭代得到近似解 %6.3fn,b,x4)

15、;printf(请选择 :n1. 再次输入初值进行计算2. 退出 n);scanf(%d,&a);if(a!=1&a!=2)printf(错误,没有该选项,请重新选择n);scanf(%d,&a);i+;fclose(fp);fclose(fq);printf(计算完毕 n);标准文案大全实用文档4.3 程序运行图二图三标准文案大全实用文档图四图五标准文案大全实用文档图六、不同初值在8 个公式中的结果(注:参数表示得到近似解时迭代次数,“ 0”和“ 1”表示公式不收敛)图七、公式一的steffensen加速在取初值为17 时的表现(注:迭代结果从17 逐渐趋近到1.538 后突变为 -1.78

16、0再突变到27.819 最后稳定)标准文案大全实用文档第5章结果分析对图六进行分析可知:无论迭代初值取何值,公式一都为发散;公式二和公式三在迭代初值取1 和 2 时收敛,其他值均发散;公式四始终收敛,只是所需迭代次数随着迭代初值与真实值相差越大而越大。说明公式一与迭代初值没有关系;公式二和公式三均只能在迭代初值与方程的解(1.365 )非常接近时才能收敛,当相差较大时则发散;公式四则只有迭代次数收到迭代初值的影响,所以,迭代法在不同的迭代初值下存在差异。对四个公式进行steffensen加速后,原本不收敛的公式一变得收敛,并且可以迭代得到方程的近似解,只是迭代次数随迭代初值远离方程的解而发生跳

17、跃式增长(迭代次数从初值为1时的9次到初值为20 时的 49847);公式二在对迭代初值的敏感性上没有差异,而在原来的基础上可收敛时收敛速度得到提升;公式三由原来的只对初值1 和 2 收敛变为对所有的初值都收敛,并且都只需要 3 次迭代,可谓收敛性能最好,稳定性最佳;公式四反而在加入加速公式后收敛速度变慢。计算中存在一个奇怪现象,公式一的steffensen加速在初值为17 时,迭代结果从17 逐渐递减趋近到1.538 后突变为 -1.780再突变到27.819 最后稳定。这应该是一个偶然现象,这里不作特别研究。综上:迭代初值对迭代的收敛性存在影响,但是这种影响存在不确定性,没有发现可寻的规律。Newton 迭代法对初值存在一定的相关性,第一段中已作说明。通过四种公式与其steffensen加速后公式的表现的对比可知,steffensen对公式的加速作用也存在不确定性。可能收到良好效果(如:公式三的加速得到一个收敛性能最好,稳定性最佳的公式);也可能收到更坏的效果(如:公式四反而在加入加速公式后收敛速度变慢);可能使得原本不收敛的公式变得收敛;也可能对公式的收敛性没有影响。参考文献1posted on2006-05-04 22:29透明 _人标准文案大全实用文档通过对迭代法的深入研究,我从中体会到了一种方法或者算法不一定能够在所有情况下都取得良好效果。其功能效果受

温馨提示

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

评论

0/150

提交评论