牛顿-拉夫逊迭代法原理及其实现_第1页
牛顿-拉夫逊迭代法原理及其实现_第2页
牛顿-拉夫逊迭代法原理及其实现_第3页
牛顿-拉夫逊迭代法原理及其实现_第4页
牛顿-拉夫逊迭代法原理及其实现_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、牛顿迭代法(简写)就是一种近似求解实数域与复数域求解方程的数学方 法。那么这个方法是具体是什么原理呢?牛顿迭代如何迭代?直接看数学公式描述如何迭代不直观,先来看动图就很容易理解牛顿迭代 法为什么叫迭代法以及怎样迭代的:牛顿迭代法是原理是根据一个初始点在该点做切线,切线与X轴相交得出 下一个迭代点的坐标,再在处做切线,依次类推,直到求得满足精度的近似解为啥要近似求解?很多方程可能无法直接求取其解迭代法非常适合计算机编程实现,实际上计算机编程对于牛顿迭代法广为应用 来看看,数学上如何描述的?_/(孙)“”+1 二帀y其中f仗为函数f仗):在处的一阶导数,也就是该点的切线。来简单推一推上面公式的山来

2、,直线函数方程为:y = kx知道一个直线的一个坐标点(劭以及斜率则该直线的方程就很容 易可以得知:y f f + /(n)那么该直线与轴的交点,就是y=0也即仏M- f (务层=0等式X的解f仏) =一 Rrf仏) 啥时候停止迭代呢?1. 计算出/佃)2. 给出一个初始假定根值xO,利用上面迭代式子进行迭代3计算绝对相对迭代近似误日曾W。4.将绝对相对近似误差与预定的相对误差容限g进行比较。如果IgIaG,则迭 代步骤2,否则停止算法。另外,检査迭代次数是否已超过允许的最大迭代次 数。如果是这样,则需要终止算法并退出。穷一个终止条件是:|幺+1)| e如何编码呢?山于牛顿迭代法主要u的是解方

3、程,当然也有可能用于某一个数学函数求 极值,所以无法写出通用的代码,这里仅仅给出一个编代码的思路。相信掌握 了思路,对于各种实际应用应该能很快的写出符合实际应用的代码。假定一函数为f(x) - 22 - 10co5a?) + X 80其波形图如下:f(x)=2x2 lOcos(z) + z 80fx) = 4X + lQsin(x) + 120406080那么对于该函数的根:2/ - lQcosx) + X 一 80 = 0从图上大致可以知道有两个根,如果直接解方程,则很难求出其根,可以编个 代码试试:#include #include #include 产假定待求根函数如F*/#define

4、 F(x) (2*(x)*(x)- 10*cos(x)+(x)-80)产其一阶导数为派/#define DF(x) (4*(x)+10*sin(x)+1)float newton_rooting(float xOfloat precision,float inin_deltax4nt max_iterations)float xmxn 1 JnJn 1 .dfn; float deltax;int step = 0;xn = xO;xnl = xO;doxn = xnl;fn =F(xn);dfn = DF(xn); 产判的if( fabs(dfn) precision ) return NA

5、N;elsereturn fn;xnl = xn - fn/dfn; fnl = F(xnl);deltax = fabs(xnl-xn);step+;if( stepmax_herations)if( fabs(fnl)precision II deltaxinin_cieltax );return xnl;void inainOfloat root_guess = 230f; float precision = 0.0000If; float inin_deltax = 0.00If: float root:int step = 7;root = newton_rooting( root_

6、guess,precisionunin_deltax,step ); printf(根为:f,函数值为:rool,F(root);root_guess = -23;root = newton_rooting( root_guess,precisionunin_deltax,step ); printf(根为:f,函数值为:root,F(root);结果:根为:6.457232,函数值为:0.000004根为:-6.894969”函数值为:-0.000008函数值已经很接近于0了,如果还需要更为精确的值,则可以选择在此基础上 进一步求解,比如利用二分法逼近。需要注意些啥?求斜率可能为0,如为0时,则可能找到了函数的极值,比如:如果选择的初始猜测根的接近方程f(x)=0中函数f(x)的拐点,NewiomRaphson 方法可能开始偏离根。然后,它可能会乂收敛回到根。例如=03456O O O O O O O O OM 吃 W8642 4 ZTS.O+mui)2X5435866 如果选择的初值不合适,可能会跳掉一些根,比如:所以实际应用时,有哪些应用?需要知道自己待求解模型的大致悄况,在合理的加以调整。比如知道某系统的传递函数,求解传函的参数,可以将上述方法推而广之,求 解多维变量方程组

温馨提示

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

评论

0/150

提交评论