牛顿迭代法求方程的根

牛顿迭代法求方程的根

ID:10874229

大小:35.00 KB

页数:3页

时间:2018-07-08

牛顿迭代法求方程的根_第1页
牛顿迭代法求方程的根_第2页
牛顿迭代法求方程的根_第3页
资源描述:

《牛顿迭代法求方程的根》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、利用迭代算法解决问题,需要做好以下三个方面的工作:  一、确定迭代变量。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。  二、建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。三、对迭代过程进行控制。在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前

2、一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。最经典的迭代算法是欧几里德算法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:牛顿迭代法是牛顿在17世纪提出的一种求解方程f(x)=0.多数方程不存在求根公式,从而求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。设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),

3、称x1为r的一次近似值,过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标x2=x1-f(x1)/f'(x1)称x2为r的二次近似值,重复以上过程,得r的近似值序列{Xn},其中Xn+1=Xn-f(Xn)/f'(Xn),称为r的n+1次近似值。上式称为牛顿迭代公式。/*用牛顿迭代法求下面方程x*x*x-5*x*x+16*x-80=0的实根的过程是:1.你想在谁附近求解,这个范围或者这个数值大多是题目已经给定了的(本例是根据输入的数值来计算的)2.令f(x)=x*x*x-5*x*x+16*x-803.x1=X4.求f(x1)5.对f(x)求导,得到f1

4、(x),求f1(x1)6.调整x,使x=x1-f(x1)/f1(x1)  7.符合条件x-x1>1e-5,转到第3步8.不符合条件x-x1>1e-5,则x1就是我们要求的实根*/#include#include//y=((x-5)*x+16)*x-80floatf(floatx){return(pow(x,3)-5*pow(x,2)+16*x-80);}floatf1(floatx){return(3*pow(x,2)-10*x+16);}voidmain(){floatx,x1,y1,y2;printf("请输入一个任意实数:X=");s

5、canf("%f",&x);printf("我可以帮你找到这个方程的解");do{  x1=x;  y1=f(x);  y2=f1(x1);  x=x1-y1/y2;}while(fabs(x-x1)>=1e-5);printf("Arootis%f",x1);}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。