数值分析 -lec10_11-非线性方程的迭代解法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值分析
二分法(对分法)
• 理论依据:设函数 f(x)∈C[a,b], f(a)f(b)<0,则 f(x)在区间[a,b]上有一 实根s使 f(s)=0。 • 二分法工作原理:每次把半分根所在的区 间[ak, bk]分成两个等长的子区间[ak, 0.5(ak+ bk) ] 和 [0.5(ak+ bk) ,bk],并剔除 根所不在的区间,直至根所在的区间变得 充分小!即|bk-ak|<ε。
数值分析
改进办法一
( x) x mf ( x) f ( x)
( x s ) f ( m ) (1 ) ( s ) lim ( x) lim[ x ]s (m) xs xs f ( 2 )
mf ( x) f ( x) ]0 2 [ f ( x)]
(m 1) f ( m ) (1 ) f ( m ) (3 ) f ( x) f ( x) 1 ( s ) lim ( x) lim lim 1 x s xs xs [ f ( x)]2 m[ f ( m ) ( 2 )]2 m
Newton迭代法降为一阶!
ek 1 s xk 1
f (k ) ek ek 1 ( k ) 2f
其中 xk+1 是由割线法产生,ηk, ξk 在 min(xk-1, xk, s) 与 max(xk-1, xk, s) 之间。
数值分析
定理:设 f(s)=0,在 s 的某领域 Iδ= [s- δ,
s+δ] 内 f″(x) 连续,f′(x)≠0,则存在ε>0, 当 x-1, x0∈Iδ时,则由割线法产生的序列 {xk} 收敛于 s ,且收敛速度的阶至少为 1.618。
数值分析
单点割线法
数值分析
抛物线法
设已知方程f ( x) 0的三个近似根xk , xk 1 , xk 2 ,以这三 点为节点构造二次插值多项式p2 ( x), 并适当选取p2 ( x)的 一个零点xk 1作为新的近似根,这样确定的迭代过程称抛 物线法,也称密勒法.
x1
x2
P2
x* x0 x3
X
P1
割线法在求xk 1时要用到前面两步的结果xk , xk 1. 需两个初值x0 , x1,而牛顿切线法在计算xk 1时,只 用到前一步xk的值。
数值分析
31
割线法的收敛性
引理:设f(s)=0,在 s 的某领域 [s- δ, s+δ] 内 f″(x) 连续,f′(x)≠0, 又设 xk-1,xk∈[s-δ, s+δ] 且 xk-1, xk, s 互异,记 ek=s-xk, 则有
f ( x)
P2 ( x)
x*
xk 1
xk 1 xk
xk 2
数值分析
35
抛物线法计算公式
插值多项式
p2 ( x) f ( xk ) f [ xk , xk 1 ]( x xk ) +f [ xk , xk 1 , xk 2 ]( x xk )( x xk 1 ).
lim xk x*
lim xk 1 lim ( xk ) 得 k k
x* ( x* )
即 x*是 φ(x)的不动点,也就是 f(x) 的根。
数值分析
问题: {xk} 收敛吗?怎样实现φ(x)
数值分析
数值分析
简单迭代法的收敛速度
数值分析
数值分析
数值分析
Steffensen加速收敛方法

ak f [ xk , xk 1 , xk 2 ] bk f [ xk , xk 1 ]+f [ xk , xk 1 , xk 2 ]( xk xk 1 ) c f (x ) k k p2 ( x) ak ( x xk ) 2 bk ( x xk ) ck bk
f ( x) ( x) x f ( x )
f ( x )
f ( 2 ) ( x s ) m1 ( m 1)!
(m)
( x s ) f ( m ) (1 ) ( s ) lim ( x) lim[ x ]s (m) xs xs mf ( 2 )
数值分析
根,重根的定义:
1. 根:如果存在常数s,使得 f(s)=0则称s是f(x)=0的根(零点);
f (s) f (s) ... f (m1) (s) 0 f (m) (s) 0 , 称s 2. 重根:如果
其中 ( s) 0 。
m 为m重根。特别地对 f(x) 是多项式,则有 f ( x) ( x s) ( x)
数值分析
简单迭代法及其收敛速度 迭代法的构想
f ( x ) 0 x ( x)
( Ax b x Gx d )
从一个初值x0出发,计算 如果 {xk 则由
x1 ( x0 )
x2 ( x1 )
xk 1 ( xk )
}收敛,即存在x*,
使得
k
'
( f ( x0 ) 0)
'
依次产生迭代格式,称 Newton 法: x n 1 x n f ( x n) f ( x n),
'
n 0, 1, 2,
数值分析
Newton 法的几何解释
当 x 0 在取定后(在真根 附近),过 作 f ( x) 的切线,则切线方程: y f ( x 0) f '( x 0)( x x0 )
xk
可先用二分法或经验确定迭代初值x0 0.5,再按牛 顿公式进行迭代。
Newton法具有收敛快,稳定性好,精度高等优点, 是求解非线性方程的有效方法之一。但它每次迭代均 需计算函数值与导数值,故计算量较大。而且当导数 值提供有困难时, Newton法无法进行。
数值分析
数值分析
误差:en xn r (不计舍入误差) 假定f 连续并且r是f 的单根。因此f (r ) 0 f (r )。 1 f (r ) 2 2 当xn充分接近r时,en 1 en Cen 2 f (r ) 假设C 1且en 10 ,则en 1 10 ,en 2 10 。 再额外迭代一次就能计算精度“超过”机器精度。 结论:随着牛顿法的每次迭代,精度倍增。
( s) lim ( x) lim[1 m x s xs
xk 1 xk
mf ( xk ) f ( xk )
为二阶收敛
数值分析
改进办法二
此方法不管根的阶数,收敛精度至少二阶!
数值分析
割线法
Newton迭代法需要计算f(x)的一阶导数,对复杂的函数,特别 是多元隐函数,求导数或偏导数是一个相对繁琐和复杂的,往往 采用近似计算的办法!
2 bk 4ak ck xk 2ak bk
x xk
2ck
2 bk 4ak ck
在xk 2 , xk 1 , xk 三个近似根中,假定xk 更接近根x* ,故新的近 似根应在xk 邻近,即 x xk 较小.于是抛物线计算公式为 xk 1 xk 2ck sgn(bk ) bk
数值分析
数值分析
Newton 迭代法
非线性问题的最简单解法是线性近似. 将非线性方程线性化,以线性方程的解逐步逼 近非线性方程的解,这就是Newton法的基本思想.
数值分析
取线性部分近似代替
f ( x) 0 : f ( x0 ) f ( x0 )( x x0 ) 0
解出x作为近似根x1: x1 x0 f ( x0 ) f ( x0 )
f ( x) 0
其中f(x)是一个一元非线性函数。
数值分析
非线性科学是当今科学发展的一个重要研究方 向,很多实际工程物理问题都归结为非线性方 程(组)的求解。 非线性方程的求根非常复杂。 例如:
sin( 2 x) y 1 y 2
无穷组解
a 1 1 2 y x a a 4 2 x y a a 0 a 1
北京航空航天大学 数学与系统科学学院
Email: numerical_analysis@hotmail.com Password:beihang 答疑时间:星期四下午2:30-5:30 答疑地点:主216
朱立永
数值分析
第三章非线性方程与非线性方程组的迭代解法
第十讲
非线性方程的迭代解法
数值分析
这一部分的主要任务是解
无解 一个解 两个解 四个解
数值分析
求根问题包括下面三个问题:

根的存在性:即f(x)=0有没有根?若有,
有几个根?
• •
哪儿有根?确定有根区间 根的近似求解
数值分析
常用的求非线性方程根的方法
• 二分法(对分法、搜索法)
• 不动点法 (简单迭代法、压缩映象法)及 其加速算法
• Newton方法及其变体
数值分析
4
8
16
数值分析
求方程m重根的Newton迭代法
f (s) f (s) ... f ( m1) (s) 0
( m)
f ( m ) ( s) 0
f ( m ) ( 3 ) f ( x) ( x s ) m2 (m 2)!
wk.baidu.com
f ( x)
f
(1 ) ( x s) m m!
数值分析
算法:
1.令a0=a, b0=b, 给定绝对误差限ε和最大迭代次数N;计算f(a) 和f(b)的值.如果f(a)f(b)>0,运算停止,输出计算失败。如 果|f(a)|< ε,计算结束,输出a即是所求解. 如果|f(b)|< ε,计算结束,输出b即是所求解; 2.开始循环迭代,k=0,1,…; 3.计算x0=0.5(a0+b0)和f(x0).如果 |f(x0)|< ε,计算结束,输出 x0即是所求解 ;否则如果f(a0)f(x0)<0, 令b0=x0; 否则,令 a0=x0 ; 4.令k=k+1; 5.如果b0-a0>ε 而且k<N, 则转入步骤3; 6.如果k>N, 输出计算失败,停止计算。
2 bk 4ak ck
数值分析
36
作业
• 课后习题1、2、4、5、7、9
数值分析
数值分析
在Newton迭代法中用
f ( xk ) f ( xk 1 ) xk xk 1
来近似f(x)在xk处的一阶导数
由此得到的算法叫割线法。
xk 1 xk f ( xk )( xk xk 1 ) f ( xk ) f ( xk 1 )
数值分析
割线法的几何表示
Y P0
f(x)<0
x 0, f ( x 0)
(0,f(0))
0 1 ξ
与 x轴交点 (y 0) 为第二个近似根 x1 : x1 x0 f ( x1 ) / f ( x0 )
数值分析
例:用牛顿法解方程 xe x 1 0. 解: ( x) xe x 1, f f ' ( x) e x (1 x) f ( x) x e x 牛顿法迭代函数为 ( x) x ' x f ( x) 1 x 牛顿公式为 xk 1 xk e xk 1 xk
相关文档
最新文档