




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品牌年服务合同
- 北京体育赛事策划及执行合同
- 珠宝销售买卖合同
- 建筑工程施工合作协议
- 新能源电动车充电站合作合同
- 机器人技术转让协议
- 公司销售业务员合同协议
- 三农村电商供应链管理与优化方案
- 个体工商户商铺租赁合同
- 影视制作行业版权使用许可合同
- 应急指挥调度与指挥中心建设
- 2025年三方运输合作协议经典版(三篇)
- 2025年《赢在执行》心得体会(4篇)
- 小红书搜索推广营销师认证考试题(附答案)
- T-GDSAIA 001-2024 非充气弹性支撑轮 术语及其定义
- 部编高教版2023·职业模块 中职语文 2.《宁夏闽宁镇:昔日干沙滩今日金沙滩》 课件
- 现代旅游管理专业群教学资源库可行性建设研究报告
- (2024年更新)国家慢性疾病编码新目录
- 《脑胶质瘤诊疗指南2024版》解读
- 心肺复苏术课件2024新版
- 安全环保职业健康法律法规清单2024年
评论
0/150
提交评论