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

上传人:飞****2 文档编号:14478688 上传时间:2022-05-04 格式:DOCX 页数:8 大小:116.82KB
返回 下载 相关 举报
Newton迭代法求解非线性方程(共8页).docx_第1页
第1页 / 共8页
Newton迭代法求解非线性方程(共8页).docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《Newton迭代法求解非线性方程(共8页).docx》由会员分享,可在线阅读,更多相关《Newton迭代法求解非线性方程(共8页).docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上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)上式称为牛顿迭代格式。用牛顿迭代格式求方程的

2、根的方法就称为牛顿迭代法,简称牛顿法。 牛顿法具有明显的几何意义。方程: (1-5)是曲线上点处的切线方程。迭代格式(1-4)就是用切线式(1-5)的零点来代替曲线的零点。正因为如此,牛顿法也称为切线法。 牛顿迭代法对单根至少是二阶局部收敛的,而对于重根是一阶局部收敛的。一般来说,牛顿法对初值的要求较高,初值足够靠近时才能保证收敛。若要保证初值在较大范围内收敛,则需对加一些条件。如果所加的条件不满足,而导致牛顿法不收敛时,则需对牛顿法作一些改时,即可以采用下面的迭代格式:, (1-6)上式中,称为下山因子。因此,用这种方法求方程的根,也称为牛顿下山法。牛顿法对单根收敛速度快,但每迭代一次,除需

3、计算之外,还要计算的值。如果比较复杂,计算的工作量就可能比较大。为了避免计算导数值,我们可用差商来代替导数。通常用如下几种方法:1. 割线法如果用 代替,则得到割线法的迭代格式为: (1-7)2. 拟牛顿法如果用代替,则得到拟牛顿法的迭代格式为: (1-8)3. Steffenson法如果用代替,则得到拟牛顿法的迭代格式为: (1-9)二、 算法分析1. 割线法割线法的迭代公式为:,k=0,1,2,割线法是超线性收敛,其程序流程图为:2. 拟牛顿法牛顿拟迭代法迭代公式为:(1) 对单根条件下,牛顿拟迭代法平方收敛,牛顿拟迭代法程序框图如下所示:(2) 对重根条件下,此时迭代公式修改为:,m为根

4、的重数此时,牛顿迭代法至少平方收敛。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:m

5、ax1 p1 = p0 - feval(f1041, p0)/feval(df1041, p0); err = abs(p1-p0); p0 = p1; p1, err, k, y = feval(f1041, p1) if (err 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.050

6、7k = 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.32

7、11e-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.1

8、596e-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-00

9、5k = 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 = 1

10、5y = 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次迭代得到满足精度要求的值。以下是程序运行截图:

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

当前位置:首页 > 教育专区 > 教案示例

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

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