欢迎来到天天文库
浏览记录
ID:6045384
大小:29.00 KB
页数:7页
时间:2018-01-01
《牛顿法在求解计算中应用探究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、牛顿法在求解计算中应用探究 摘要:文章介绍了牛顿迭代算法,通过实例探讨了方程在区间的求解过程,设计了相应的C语言程序,分析了相应的计算结果。关键词:牛顿法;C语言;方程;零点中图分类号:TP399文献标识码:A文章编号:1006-4311(2013)17-0196-020引言牛顿迭代法又称为牛顿-拉夫逊方法,它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x)=0的单根附近具有平方收敛,而且该法还可以用来求方程
2、的重根、复根,此时线性收敛,但是可通过一些方法变成超线性收敛。另外该方法广泛用于计算机编程中。本文为了更有效地说明牛顿法在方程求根中的应用,主要从算法及程序实现上进行研究。1牛顿迭代算法7设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)+f’(x0)(x-x0),求出L与x轴交点的横坐标x1=x0-f(x0)/f’(x0),称x1为r的一次近似值。过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴交点的横坐标x2=x1-f(x1)/f’(x1),称x2为r的二次近似值。重复以上过程,得r
3、的近似值序列,其中x(n+1)=x(n)-f(x(n))/f’(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。2实例的程序设计与分析为了研究牛顿法求根的过程,假设求方程2x4+24x3+61x2-16x+1=0接近0.1的两根,根据牛顿法的算法,给出以下C语言编写的程序代码,并在VC6.0下进行调试。后对输出的数据进行分析。源程序如下:#include#includevoidmain(){intn=0,M;floatx,y,s,t,u,v;printf(”pleseinputxMtands:\n”);scanf(”%f%d%f%f”,&x,&M,&t,&s);u=2*
4、x*x*x*x+24*x*x*x+61*x*x-16*x+1;v=8*x*x*x+72*x*x+122*x-16;y=x-u/v;7printf(”N=%d,x=%f,y=%f,
5、y-x
6、=%f,f(x)=%f\n”,n,x,y,fabs(y-x),u);n++;while(nt&&fabs(u)>s){x=y;u=2*x*x*x*x+24*x*x*x+61*x*x-16*x+1;v=8*x*x*x+72*x*x+122*x-16;y=x-u/v;printf(”N=%d,x=%f,y=%f,
7、y-x
8、=%f,f(x)=%f\n”,n,x,y,fabs(y-x),u);n++;}
9、}为了能够找到x=0.1附近的两个根,不妨取x0=0.0,x0=0.1和x0=0.2三个值尝试一下,分别得到如下的结果:①当x0=0.0时,我们认为x=0.1213是方程的根。N=0,x=0.000000,y=0.062500,┇y-x┇=0.062500,f(x)=1.000000N=1,x=0.062500,y=0.092675,┇y-x┇=0.030175,f(x)=0.2441717N=2,x=0.092675,y=0.107509,┇y-x┇=0.014834,f(x)=0.060358N=3,x=0.107509,y=0.114853,┇y-x┇=0.007344,f
10、(x)=0.014995N=4,x=0.114853,y=0.118484,┇y-x┇=0.003630,f(x)=0.003725N=5,x=0.118484,y=0.120243,┇y-x┇=0.001759,f(x)=0.000916N=6,x=0.120243,y=0.121026,┇y-x┇=0.000783,f(x)=0.000216N=7,x=0.121026,y=0.121284,┇y-x┇=0.000258,f(x)=0.000043N=8,x=0.121284,y=0.121320,┇y-x┇=0.000036,f(x)=0.000005②当x0=0.1时,我
11、们认为x=0.1213是方程的根。N=0,x=0.100000,y=0.111133,┇y-x┇=0.011133,f(x)=0.034200N=1,x=0.111133,y=0.116648,┇y-x┇=0.005515,f(x)=0.008502N=2,x=0.116648,y=0.119361,┇y-x┇=0.002714,f(x)=0.002107N=3,x=0.119361,y=0.120648,┇y-x┇=0.001287,f(x)=0.0005137N=4,x=0.
此文档下载收益归作者所有