欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Newton迭代法求解非线性方程(共8页).docx

    • 资源ID:14478688       资源大小:116.82KB        全文页数:8页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Newton迭代法求解非线性方程(共8页).docx

    精选优质文档-倾情为你奉上Newton迭代法求解非线性方程一、 Newton迭代法概述 构造迭代函数的一条重要途径是用近似方程来代替原方程去求根。因此,如果能将非线性方程fx=0用线性方程去代替,那么,求近似根问题就很容易解决,而且十分方便。牛顿(Newton)法就是一种将非线性方程线化的一种方法。 设是方程fx=0的一个近似根,把如果在处作一阶Taylor展开,即: (1-1)于是我们得到如下近似方程: (1-2)设,则方程的解为: x=xk+f(xk)f(xk) (1-3)取作为原方程(1.1)的新近似根,即令: , k=0,1,2, (1-4)上式称为牛顿迭代格式。用牛顿迭代格式求方程的根的方法就称为牛顿迭代法,简称牛顿法。 牛顿法具有明显的几何意义。方程: (1-5)是曲线上点处的切线方程。迭代格式(1-4)就是用切线式(1-5)的零点来代替曲线的零点。正因为如此,牛顿法也称为切线法。 牛顿迭代法对单根至少是二阶局部收敛的,而对于重根是一阶局部收敛的。一般来说,牛顿法对初值的要求较高,初值足够靠近时才能保证收敛。若要保证初值在较大范围内收敛,则需对加一些条件。如果所加的条件不满足,而导致牛顿法不收敛时,则需对牛顿法作一些改时,即可以采用下面的迭代格式:, (1-6)上式中,称为下山因子。因此,用这种方法求方程的根,也称为牛顿下山法。牛顿法对单根收敛速度快,但每迭代一次,除需计算之外,还要计算的值。如果比较复杂,计算的工作量就可能比较大。为了避免计算导数值,我们可用差商来代替导数。通常用如下几种方法:1. 割线法如果用 代替,则得到割线法的迭代格式为: (1-7)2. 拟牛顿法如果用代替,则得到拟牛顿法的迭代格式为: (1-8)3. Steffenson法如果用代替,则得到拟牛顿法的迭代格式为: (1-9)二、 算法分析1. 割线法割线法的迭代公式为:,k=0,1,2,割线法是超线性收敛,其程序流程图为:2. 拟牛顿法牛顿拟迭代法迭代公式为:(1) 对单根条件下,牛顿拟迭代法平方收敛,牛顿拟迭代法程序框图如下所示:(2) 对重根条件下,此时迭代公式修改为:,m为根的重数此时,牛顿迭代法至少平方收敛。3. Steffenson法Steffenson迭代法程序流程图与牛顿拟迭代法类似。三、 牛顿法的程序 给定初值,用牛顿法格式,求解非线性方程。*function p1,err,k,y = newton(f1041,df1041,p0,delta,max1)% f1041是非线性函数。% df1041是f1041的微商。% p0是初始值。% delta是给定允许误差。% max1是迭代的最大次数。% p1是牛顿法求得的方程的近似解。% err是p0的误差估计。% k是迭代次数。% y = f(p1)p0, feval('f1041',p0)for k = 1:max1 p1 = p0 - feval('f1041', p0)/feval('df1041', p0); err = abs(p1-p0); p0 = p1; p1, err, k, y = feval('f1041', p1) if (err < delta) | (y = 0), break, end p1, err, k, y = feval('f1041', p1)end*四、程序实例与计算结果例 用上述程序求方程的一个近似解,给定初值为1.2,误差界为。解:先用m文件先定义二个名为f1041.m和df1041.m的函数文件。 function y = f1041(x) y = x3 3*x + 2; function y=df1041(x)y=3*x2-3;建立一个主程序prog1041.m clearnewton('f1041','df1041',1.2, 10(-6), 18)然后在MATLAB命令窗口运行上述主程序,即: >> prog1041计算结果如下:专心-专注-专业p0 = 1.2000ans = 0.1280p1 = 1.1030err = 0.0970k = 1y = 0.0329p1 = 1.1030err = 0.0970k = 1y = 0.0329p1 = 1.0524err = 0.0507k = 2y = 0.0084p1 = 1.0524err = 0.0507k = 2y = 0.0084p1 = 1.0264err = 0.0260k = 3y = 0.0021p1 = 1.0264err = 0.0260k = 3y = 0.0021p1 = 1.0133err = 0.0131k = 4y = 5.2963e-004p1 = 1.0133err = 0.0131k = 4y = 5.2963e-004p1 = 1.0066err = 0.0066k = 5y = 1.3270e-004p1 = 1.0066err = 0.0066k = 5y = 1.3270e-004p1 = 1.0033err = 0.0033k = 6y = 3.3211e-005p1 = 1.0033err = 0.0033k = 6y = 3.3211e-005p1 = 1.0017err = 0.0017k = 7y = 8.3074e-006p1 = 1.0017err = 0.0017k = 7y = 8.3074e-006p1 = 1.0008err = 8.3157e-004k = 8y = 2.0774e-006p1 = 1.0008err = 8.3157e-004k = 8y = 2.0774e-006p1 = 1.0004err = 4.1596e-004k = 9y = 5.1943e-007p1 = 1.0004err = 4.1596e-004k = 9y = 5.1943e-007p1 = 1.0002err = 2.0802e-004k = 10y = 1.2987e-007p1 = 1.0002err = 2.0802e-004k = 10y = 1.2987e-007p1 = 1.0001err = 1.0402e-004k = 11y = 3.2468e-008p1 = 1.0001err = 1.0402e-004k = 11y = 3.2468e-008p1 = 1.0001err = 5.2014e-005k = 12y = 8.1170e-009p1 = 1.0001err = 5.2014e-005k = 12y = 8.1170e-009p1 = 1.0000err = 2.6008e-005k = 13y = 2.0293e-009p1 = 1.0000err = 2.6008e-005k = 13y = 2.0293e-009p1 = 1.0000err = 1.3004e-005k = 14y = 5.0732e-010p1 = 1.0000err = 1.3004e-005k = 14y = 5.0732e-010p1 = 1.0000err = 6.5020e-006k = 15y = 1.2683e-010p1 = 1.0000err = 6.5020e-006k = 15y = 1.2683e-010p1 = 1.0000err = 3.2510e-006k = 16y = 3.1708e-011p1 = 1.0000err = 3.2510e-006k = 16y = 3.1708e-011p1 = 1.0000err = 1.6255e-006k = 17y = 7.9270e-012p1 = 1.0000err = 1.6255e-006k = 17y = 7.9270e-012p1 = 1.0000err = 8.1277e-007k = 18y = 1.9817e-012ans = 1.0000这说明,经过18次迭代得到满足精度要求的值。以下是程序运行截图:

    注意事项

    本文(Newton迭代法求解非线性方程(共8页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开