牛顿迭代法111.ppt

上传人:s****8 文档编号:67303782 上传时间:2022-12-24 格式:PPT 页数:14 大小:335KB
返回 下载 相关 举报
牛顿迭代法111.ppt_第1页
第1页 / 共14页
牛顿迭代法111.ppt_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《牛顿迭代法111.ppt》由会员分享,可在线阅读,更多相关《牛顿迭代法111.ppt(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 实验五实验五 牛顿迭代法牛顿迭代法【实验目的实验目的】1.了解牛顿迭代法的基本概念.2.了解牛顿迭代法的收敛性和收敛速度。3.学习、掌握MATLAB软件有关的命令。【实验内容实验内容】用牛顿迭代法求解方程 的近似根,误差不超过10-3。【实验准备实验准备】1.牛顿迭代法原理牛顿迭代法原理 设已知方程 的近似根 ,则在 附近 可用一阶泰勒多项式 近似代替。因此,方程 可近似表示为 。用 近似表示 根差异不大。设 ,由于 满足 ,解得 重复这以过程,得到迭代格式 这就是著名得牛顿迭代公式,它相应的不动点方程为牛顿迭代法2.牛顿迭代法的几何解析牛顿迭代法的几何解析 在 处做曲线的切线,切线方程为令

2、 可得切线与 轴的交点坐标 ,这就是牛顿迭代法的迭代公式。因此,牛顿法又称“切线法”。3.牛顿迭代法的收敛性牛顿迭代法的收敛性 计算可得 ,设 是 的单根,有 ,则故在 附近,有 。根据不动点原理知牛顿迭代法收敛。4.牛顿迭代法的收敛速度牛顿迭代法的收敛速度定理(牛顿法收敛定理)设 在区间 上有二 阶连续导数,且满足 ,在 上不变号,在a,b上不等于0,令有 ,则对任意 ,牛顿迭代格式收敛于在 中的唯一实根 ,且 ,牛顿迭代法为二阶收敛。对不动点方程 ,它导出的迭代过程有可能发散,也可能收敛得非常缓慢。这时,我们有没有办法改进不动点方程,让迭代过程收敛得快一些呢?迭代过程的加速迭代过程的加速(

3、1)一个简单办法)一个简单办法 注意到 和 都是不动点方程,它们的加权平均也是不动点方程,而且 和 有完全相同的不动点。适当选取 的值,可以使发散的迭代过程变得收敛,使收敛慢的迭代过程变得收敛迅速。(2)加速的原因)加速的原因 在下面的实验中我们可以看到,在不动点 附近的导数值在很大程度上决定了迭代过程的收敛性。的绝对值越小,收敛性越好。因此,选择 使得 。计算得到理想的 值为 ,相应可计算出 (1)一个简单办法)一个简单办法 注意到 和 都是不动点方程,它们的加权平均也是不动点方程,而且 和 有完全相同的不动点。适当选取 的值,可以使发散的迭代过程变得收敛,使收敛慢的迭代过程变得收敛迅速。(

4、2)加速的原因)加速的原因 在下面的实验中我们可以看到,在不动点 附近的导数值在很大程度上决定了迭代过程的收敛性。的绝对值越小,收敛性越好。因此,选择 使得 。计算得到理想的 值为 ,相应可计算出 (3)的选取的选取 由于理想的 值为 ,当 变化不大时,可以取 近似计算 。(4)回到牛顿迭代法的讨论)回到牛顿迭代法的讨论 为求解方程 ,可以使用不动点方程 ,相应的迭代函数为 对 进行加速所以,牛顿迭代法是对基本迭代格式进行加速的结果。5.5.迭代的迭代的MATLABMATLAB命令命令 MATLAB中主要用for,while等控制流命令实现迭代。练习练习 1 用牛顿迭代法求方程 在 附近的近似

5、根,误差不超过10-3。牛顿迭代法的迭代函数为:相应的matlab代码为:(运行)clear;x=0.5;for i=1:3 x=x-(x3+x2+x-1)/(3*x2+2x+1)end可算得迭代数列的前三项0.5455,0.5437,0.5437。经三次迭代就大大超了精度练习练习2 用牛顿迭代法求方程 的近似正实根,由此建立一种求平方根的计算方法。由计算可知,迭代格式为 ,在实验12的练习4中已经进行了讨论。练习练习3 用牛顿迭代法求方程 的正根。牛顿迭代法的迭代函数为如果取初值为 ,相应的MATLAB代码为(运行)clearx=0;for i=1:6 x=x-(x*exp(x)-1)/(x

6、+1)*exp(x)end 可得迭代数列前6项为1.0000,0.6839,0.5775 0.5672,0.5671,0.5671,说明迭代实收敛的。如果取初值为10,相应的MATLAB代码为clear;x=10.0;for i=1:20 x=x-(x*exp(x)-1)/(x+1)*exp(x)y(i)=x;End(运行)可算得迭代数列的前20项为9.0909,8.1900 7.2989 ,6.4194 ,5.5544 ,4.7076,3.8844 ,3.0933 ,2.3487 1.6759 ,1.1195,0.7453,0.5902 0.5676 ,0.5671 ,0.5671,0.56

7、71,0.5671,0.5671 ,0.5671,说明迭代是收敛的。如果取初值 或 ,可算得迭代数列是发散的,根据函数图形分析原因。练习练习4 求方程 在 附近的根,精确到10-5先直接使用 的迭代格式,相应的MATLAB代码为n=0;esp=1.05e-5;x=0.5;while abs(x-exp(-x)esp x=exp(-x);n=n+1;endx,n(运行)结果为x=0.5671,n=17,说明迭代17次后达到精度要求。可算得迭代数列的前20项为9.0909,8.1900 7.2989 ,6.4194 ,5.5544 ,4.7076,3.8844 ,3.0933 ,2.3487 1.

8、6759 ,1.1195,0.7453,0.5902 0.5676 ,0.5671 ,0.5671,0.5671,0.5671,0.5671 ,0.5671,说明迭代是收敛的。如果取初值 或 ,可算得迭代数列是发散的,根据函数图形分析原因。练习练习4 求方程 在 附近的根,精确到10-5先直接使用 的迭代格式,相应的MATLAB代码为n=0;esp=1.05e-5;x=0.5;while abs(x-exp(-x)esp x=exp(-x);n=n+1;endx,n(运行)结果为x=0.5671,n=17,说明迭代17次后达到精度要求。为加快收敛速度,用 构造迭代格式,由实验的预备知识中可知,

9、取相应的MATLAB代码为n=0;eps=1.0e-5;x=0.5;while abs(x-0.625*exp(-x)-0.375*x)eps x=0.625*exp(-x)+0.375*x;n=n+1;endx,n 结果为0.5671,n=3,说明迭代三次后达到精度要求。练习练习5 对练习中方程 ,用加快后的迭代格式 求x=0.5附近的根,精确到10-5 计算 可得 ,相应的MATLAB代码为n=0;eps=1.0e-5;x=0.5;while abs(x-(x+1)*exp(-x)/(1+exp(-x)eps x=(x+1)*exp(-x)/(1+exp(-x);n=n+1;endx,n结果为x=0.5671,n=2,说明迭代2次后达到精度要求。【实验作业实验作业】1.用牛顿迭代法求方程 的近似根。2.为求出方程 的根,在区间1,2内使用迭代函数进行迭代,记录迭代数据,问迭代是否收敛?对迭代进行加速,对比加速前的数据,比较加速效果。3.使用在不动点 的泰勒公式,证明牛顿迭代法收敛定理。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com