Newton迭代法求解非线性方程Word格式文档下载.docx
- 文档编号:806828
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:9
- 大小:114.08KB
Newton迭代法求解非线性方程Word格式文档下载.docx
《Newton迭代法求解非线性方程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Newton迭代法求解非线性方程Word格式文档下载.docx(9页珍藏版)》请在冰点文库上搜索。
取作为原方程的新近似根,即令:
k=0,1,2,…(1-4)
上式称为牛顿迭代格式。
用牛顿迭代格式求方程的根的方法就称为牛顿迭代法,简称牛顿法。
牛顿法具有明显的几何意义。
方程:
(1-5)
是曲线上点处的切线方程。
迭代格式(1-4)就是用切线式(1-5)的零点来代替曲线的零点。
正因为如此,牛顿法也称为切线法。
牛顿迭代法对单根至少是二阶局部收敛的,而对于重根是一阶局部收敛的。
一般来说,牛顿法对初值的要求较高,初值足够靠近时才能保证收敛。
若要保证初值在较大范围内收敛,则需对加一些条件。
如果所加的条件不满足,而导致牛顿法不收敛时,则需对牛顿法作一些改时,即可以采用下面的迭代格式:
(1-6)
上式中,,称为下山因子。
因此,用这种方法求方程的根,也称为牛顿下山法。
牛顿法对单根收敛速度快,但每迭代一次,除需计算之外,还要计算的值。
如果比较复杂,计算的工作量就可能比较大。
为了避免计算导数值,我们可用差商来代替导数。
通常用如下几种方法:
1.割线法
如果用代替,则得到割线法的迭代格式为:
(1-7)
2.拟牛顿法
如果用代替,则得到拟牛顿法的迭代格式为:
(1-8)
3.Steffenson法
(1-9)
二、算法分析
割线法的迭代公式为:
k=0,1,2,…
割线法是超线性收敛,其程序流程图为:
牛顿拟迭代法迭代公式为:
(1)对单根条件下,牛顿拟迭代法平方收敛,牛顿拟迭代法程序框图如下所示:
(2)对重根条件下,此时迭代公式修改为:
m为根的重数
此时,牛顿迭代法至少平方收敛。
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)
fork=1:
max1
p1=p0-feval('
p0)/feval('
df1041'
p0);
err=abs(p1-p0);
p0=p1;
p1,err,k,y=feval('
p1)
if(err<
delta)|(y==0),
break,
end
p1,err,k,y=feval('
end
四、程序实例与计算结果
例用上述程序求方程的一个近似解,给定初值为,误差界为。
解:
先用m文件先定义二个名为和的函数文件。
functiony=f1041(x)
y=x^3–3*x+2;
functiony=df1041(x)
y=3*x^2-3;
建立一个主程序
clear
newton('
'
,10^(-6),18)
然后在MATLAB命令窗口运行上述主程序,即:
>
>
prog1041
计算结果如下:
p0=
ans=
p1=
err=
k=1
y=
k=2
k=3
k=4
y=
k=5
k=6
k=7
err=
k=8
k=9
k=10
k=11
k=12
k=13
k=14
k=15
k=16
k=17
k=18
这说明,经过18次迭代得到满足精度要求的值。
以下是程序运行截图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Newton 迭代法 求解 非线性 方程
![提示](https://static.bingdoc.com/images/bang_tan.gif)