迭代初值及公式对迭代收敛速度影响_第1页
迭代初值及公式对迭代收敛速度影响_第2页
迭代初值及公式对迭代收敛速度影响_第3页
迭代初值及公式对迭代收敛速度影响_第4页
迭代初值及公式对迭代收敛速度影响_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

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

文档简介

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

2、-5个关键词,用分号隔开,小4号黑体;正文局部采用三级标题;第1章XX小二号黑体居中,段前0.5行1.1XXXXX小三号黑体XXXXX段前、段后0.5行1.1.1小四号黑体段前、段后0.5行参考文献黑体小二号居中,段前0.5行,参考文献用五号宋体,参照?参考文献着录规那么GB/T7714-2005.迭代初值及公式对迭代收敛速度影响摘要迭代收敛速度受到迭代函数和初始迭代值的影响.本实验在于体会在非线性方程求根的迭代法中,迭代函数和初始迭代值的选取对迭代收敛性的影响,sttefensen加速的效果,并试图总结一些规律.关键词:sttenfensen加速;迭代初值;收敛速度目录第1章前言1.1内容及

3、要求1.2研究思路及结构安排第2章相关理论知识2.1迭代法2.2迭代收敛第3章算法分析3.1单一迭代算法步骤及流程图第4章算法实现4.1程序总体结构4.2源程序清单4.3程序运行第5章结果分析参考文献第1章前言1.1内容及要求体会在非线性方程求根的迭代法中,迭代函数和初始迭代值的选取对迭代收敛性的影响.考虑一个简单的代数方程/+4一10=0,针对这个方程,可以构造多3.2种迭代法,如以下几种迭代格式:X=-冷-4冷Xn10;Xn+=(10_X3)22;1Xn1WXn1次一卓Fl4+X,l:3Xn+8Xn.要求:(1)取定某个初始值X0,按如上四种迭代格式进行计算,它们的收敛性如何?重复选取不同

4、的初始值,反复实验,分析四种迭代法的收敛性与初值选取的关系.(2)选取第种迭代格式(Newton迭代法),取不同的初始值进行迭代,结果如何?并分析迭代法对不同的初值是否有差异.(3)对上述四种迭代格式,编制Steffensen迭代程序,选取不同的初始值,输出迭代次数和方程的根,并与(1)、(2)中的结果进行比拟.1.2研究思路及结构安排根据题目要求分别编写公式1-4以及他们的steffensen加速公式.在每一次的计算中,通过输入不同的迭代初值,然后进行8个公式的的计算,最后得到每个公式在此迭代初值条件下的表现(得到满足精度要求的近似解的迭代次数).并且,程序运行过程中通过文件读写将每一次的每

5、个公式的迭代次数都写入到“data.txt中,比照一目了然.通过对迭代次数的比照分析可以得到较为清楚的结论.第2章相关理论知识2.1迭代法迭代法是用于求方程或方程组近似根的一种常用的算法设计方法.设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行:(1)选一个方程的近似根,赋给变量x0;(2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0;(3)当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算.假设方程有根,并且用上述方法计算出来的近似根序列收敛,那么按上述方法求得的x0就认为是方程的根.2.2迭代收敛具体使用迭代法求根时

6、应注意以下两种可能发生的情况:(1)如果方程无解,算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考察方程是否有解,并在程序中对迭代的次数给予限制;(2)方程虽然有解,但迭代公式选择不当,或迭代的初始近似根选择不合理,也会导致迭代失败第3章算法分析3.1单一迭代算法步骤及流程图第4章算法实现4.1程序总体结构4.2源程序清单#include#include#defineN0.0001voidmain()inta=0,b=0;/a为选择项,b为计数器doublex0=0,x1=0,x2=0,x3=0,x4=0;FILE*fp,*fq;fp=fopen(data.tx

7、t,w);fq=fopen(strenge.txt,w);fprintf(fp,序号初值式一式二式三式四式一+式二+式三+式四+n);printf(此程序为验证不同的迭代函数和初值对迭代收敛速度的影响而设计n);printf(以方程xA3+4xA2-10=0为例n);printf(请选择:n1.输入初值进行计算2.退出n);scanf(%d,&a);if(a!=1&a!=2)(printf(错误,没有该选项,请重新选择n);scanf(%d,&a);inti=1;while(a!=2)(printf(-请输入迭代初值n);scanf(%lf,&x0);fprintf(fp,%d,i);fpri

8、ntf(fp,%.2f,x0);printf(进行计算n);x2=x0;/公式一迭代x1=0;b=0;while(fabs(x1-x2)N)(b+;x1=x2;x2=-pow(x1,3)-4*pow(x1,2)+x1+10;fprintf(fp,%.2f,b);printf(经过迭代公式一以迭代得到近似解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

9、;/公式三迭代x1=0;b=0;while(fabs(x1-x2)N)b+;x1=x2;x2=pow(10/(4+x1),0.5);fprintf(fp,%d,b);printf(经过迭代公式三以迭代得到近似解%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(经过迭代公式四以迭代得到近似解%6.3fn,b,x2);x4=x0;/公式一迭代stffensen加速x1=0;b=0;while(

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

11、x4)N)(b+;x1=x4;x2=0.5*pow(10-x1*x1*x1),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加速故迭代得到近似解%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*

12、x2+x1);fprintf(fp,%d,b);printf(经过迭代公式三stffensen加速故迭代得到近似解%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加速故迭代得到近似

13、解%6.3fn,b,x4);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.780再突变到27.819最后稳定)第5章结果分析对图六进行分析可

14、知:无论迭代初值取何值,公式一都为发散;公式二和公式三在迭代初值取1和2时收敛,其他值均发散; 公式四始终收敛,只是所需迭代次数随着迭代初值与真实值相差越大而越大.说明公式一与迭代初值没有关系; 公式二和公式三均只能在迭代初值与方程的解1.365非常接近时才能收敛,当相差较大时那么发散;公式四那么只有迭代次数收到迭代初值的影响,所以,迭代法在不同的迭代初值下存在差异.对四个公式进行steffensen加速后,原本不收敛的公式一变得收敛,并且可以迭代得到方程的近似解,只是迭代次数随迭代初值远离方程的解而发生跳跃式增长迭代次数从初值为1时的9次到初值为20时的49847;公式二在对迭代初值的敏感性

15、上没有差异,而在原来的根底上可收敛时收敛速度得到提升;公式三由原来的只对初值1和2收敛变为对所有的初值都收敛,并且都只需要3次迭代,可谓收敛性能最好,稳定性最正确;公式四反而在参加加速公式后收敛速度变慢.计算中存在一个奇怪现象,公式一的steffensen加速在初值为17时,迭代结果从17逐渐递减趋近到1.538后突变为-1.780再突变到27.819最后稳定.这应该是一个偶然现象,这里不作特别研究.综上:迭代初值对迭代的收敛性存在影响,但是这种影响存在不确定性,没有发现可寻的规律.Newton迭代法对初值存在一定的相关性,第一段中已作说明.通过四种公式与其steffensen加速后公式的表现的比照可知,steffensen对公式的加速作用也存在不确定性.可能收到良好效果如:公式三的加速得到一个收敛性能最好,稳定性最正确的公式;也可能收到更坏的效果如:公式四反而在参加加速公式后收敛速度变慢;可能使得原本不收敛的公式变得收敛;也可能对公式的收敛性没有影响.参考文献1postedon2006-05-0422:29透明人学生学习心得通过对迭代法的深入研究,我从中体会到了一种方法或者算法不一定能够在所有情况下都取得良好效果.其功能效果受到多方

温馨提示

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

评论

0/150

提交评论