当前位置:
文档之家› 《数值分析》课件 07a方程求根
《数值分析》课件 07a方程求根
1.25 -
1 1.25
1.375 +
2
1.375 1.3125 -
3 1.3125
1.3438 +
4
1.3438 1.3281 +
5
1.3281 1.3203 -
6 1.3203
1.3242 -
§2 简单迭代法 /* Fixed-Point Iteration */
等价变换
f (x) = 0
x = (x)
x0
|
k x * xk
✓ lim x * xk1 lim (ξ k )( x * xk ) ( x*)
k x * xk
k
x * xk
例 求方程 f ( x) x3 x 1 0 在 x 1.5 附近的根,若将
方程改写为 x x3 1,建立迭代公式 xk1 xk3 1 是发散的,
§2 Fixed-Point Iteration
例 设 f (x) x3 4x2 10 0(此方程在[1,2]中有唯一根), 用不同的方法将它变换成等价的方程。
解: (1) x 1( x) x x3 4x2 10
(2)
x
2
(
x)
(10 x
1
4x)2
(3)
x
3(x)
1 2
(10
x3
lim
k
| ek1 | | ek |p
C
0,则称该迭代为p 阶收敛,
其中 C 称为渐近误差常数。/* { xk } converges to x* of order p,
with asymptotic error constant C > 0 */ 当 p 1 时称作线性收敛, 当 p 2 时称作平方收敛。
定理 设 x* 为x = (x) 的不动点,若 C p (R( x*)),p 2;
(
x*)
...
(
p1)
(
x*T) hi0s,is且a
( one
pl)in( ex*p)roof0.,..if则wxek+1
=
(xk)
在
R( x*) 内 证明:xk 1
p
阶收敛。start
( xk ) ( x*)
第七章 非线性方程求根
/* Solutions of Nonlinear Equations */
求 f (x) = 0 的根
❖ 数学物理中的许多问题常常归结为解函数方程f ( x) 0 ,
❖ 方程 f ( x) 0 的解 x*称作它的根,或称为 f (x) 的零点。
设函数f (x)在[a,b]上连续且 f (a) f (b) 0 ,根据连续函数的
✓ L | x * xk1 | ...... Lk | x * x0 | 0
§2 Fixed-Point Iteration
④
|
x
*
xk
|
1
1
L
|
xk 1
xk
|
?
✓ | xk1 xk | | x * xk | | x * xk1 | | x * xk | L | x * xk |
ln 2
①简单; ② 对f (x) 要求不高(只要连续即可) .
①无法求复根及偶重根 ② 收敛慢
注:用二分法求根,最好先给出 f (x) 草图以确定根的大概 位置。或用搜索程序,将[a, b]分为若干小区间,对每一个 满足 f (ak)·f (bk) < 0 的区间调用二分法程序,可找出区间 [a, b]内的多个根,且不必要求 f (a)·f (b) < 0 。
迭代法是一种逐次逼近法,其基本思想 是将隐式方Oh程Syoe归abha结?sicW为allhy一owt组ellas显re 式的计算公式, 就的是过说程,。迭yoWdu代iosthnch过aieotat!’nt’ss程vItshteochre实aegsnmiepm’质netrtptob?h上lbeeoll!dei是emve?一个逐步显示化
xb2 b
2
x*
x
xk1 xk ε1 或 f ( x) ε2
§1 Bisection Method
误差 分析:
第1步产生的
x1
a
2
b
有误差
|x1
x*|
b
2
a
第
k
步产生的
xk
有误差
|xk
x*|
ba 2k
对于给定的精度 ,可估计二分法所需的步数 k :
ba 2k
ε
k lnb a ln ε
suff(ixci*e)n( xtlkyfxa*r)tothele( pfp)t(.!k
)
( xk
x*) p
x* k C
§2 Fixed-Point Iteration
1
)2
(4)
x
4
(
x)
(
10 4 x
)
1 2
(5)
x 5(x)
x
x3 4 x2 10 3x2 8x
对所选取的 i (x) (i 1, 2, 3, 4, 5) 迭代法计算结果列入下表:
取初始近似值
x0 1.5
,
k
(1)
(2)
0
1.5
1ห้องสมุดไป่ตู้5
1
-0.875
0.8165
2
6.732
2.9969
有 C1[a, b] 且 | ’(x*) | < 1,则由x0R 开始的 迭代收敛。即调整初值可得到收敛的结果。
定义若存在 x*的某个邻域 R :| x x* | ,使迭代过程
xk1 ( xk )对于任意初值 x0 R 均收敛,则称迭代过程
xk1 ( xk )在根 x*邻近具有局部收敛性。
| 105
2
和(b) 时,确
定(b)中迭代次数k。
解
对于迭代过程( b ),迭代函数
4
(
x
)
(
10 4 x
)
1 2
于是
| '4 ( x) |
5
10(4 x)3/2
5 0.15
10 (5)3 / 2
因此,迭代函数4( x) 在[1, 2]上满足定理条件,故迭代
过程(b)收敛。
由
|
x*
xk
|
Lk 1 L
lim x * xk1 x *
k x * xk
证明:① (x) 在[a, b]上存在不动点?
§2 Fixed-Point Iteration
令 f (x) (x) x a (x) b
f (a) (a) a 0 , f (b) (b) b 0
f (x) 有根 ✓
② 不动点唯一? 反证:若不然,设还有 x~ ( x~),则
在[1, 1.5]上满足定理的条件2 ,故迭代过程当初值限制在
[1, 1.5]上时,迭代过程收敛。
§2 Fixed-Point Iteration
注 此题中 L4 L3,可知迭代过程(b)比迭代过 程(a)收敛快。
定理条件非必要条件,可将[a, b]缩小,定义局
部收敛性:若在 x* 的某 领域 R = { x | | x x* | }
x* x~ ( x*) ( x~) (ξ )( x * x~), 在 x* 和x~ 之间。
( x* x~)(1 (ξ )) 0 而 |(ξ ) | 1 x* x~ ✓
③ 当k 时, xk 收敛到 x* ?
| x * xk | | ( x*) ( xk1 ) | | (ξ k1 ) | | x * xk1 |
这是因为
'( x) ( x3 1)' 3x2
当 x 0.7 时,均有 | '( x) | 1
§2 Fixed-Point Iteration
例 考察迭代过程(a) xk1 3 ( xk
xk1
4( xk
)
( 4
10 xk
1
)2
的收敛性,当
)
|
1 (10
2
xk x*
xk3 )1/
(4) 1.5
1.34839973 1.36737631 1.36495701 1.36526475 1.36522559 1.36523058 1.36522994 1.36523002 1.36523001
(5) 1.5
1.37333333
1.36526201
1.36523001
迭代过程收敛
➢ 迭代过程的收敛性
k
0.85
6.97
lg 0.15
于是,推得所要求迭代次数 k 7 。
对于迭代过程(a),迭代函数,3( x)
于是
'3
(
x)
3 4
x2 0
10 x3
1 2
(10
x3
)1/ 2
注意到| '3 (2) | 2.12,所以在[1, 2]上,定理中条件2)不满 足。但当 x [1, 1.5]有| '3 ( x) | | '3 (1.5) | 0.66 L3迭代函数3(x)
⑤
|
x*
xk
|
Lk 1 L
|
x1
x0
|
?
可用 | xk1 xk |来 控制收敛精度
| xk1 xk | | ( xk ) ( xk1 ) | | (ξ k )(xk xk1 ) |
✓ ⑥
lim
x
*
L| xk1
xk xkL1越| 小....收..敛L越k | 快x1
x * ?
§1 Bisection Method