当前位置:文档之家› 第3节 简单迭代法

第3节 简单迭代法




1 | x k 1 x k | | x * xk | 1 L

L | x1 x 0 | | x * xk | 1 L

k
( k = 1, 2, … )
且存在极限
lim
k
x * x k 1 g x * x * xk

证明:① g(x) 在[a, b]上存在不动点?
1 | x k 1 x k | ? 1 L


注意:
由 于 xk 1 xk 在 计 算 过 程 中 容 易 算 , 又 有 估 计 式 出 | x * xk |
1 | xk 1 xk |, 在 程 序 中 , 常 用xk 1 xk | 来 控 制 精 度 。 | 1 L
Output: approximate solution x or message of failure.
Step 1 Set i = 1; Step 2 While ( i Nmax) do steps 3-6 Step 3 Set x = g(x0); /* compute xi */ Step 4 If | x x0 | < TOL then Output (x); /* successful */ STOP; Step 5 Set i ++; 当 x */ Step 6 Set x0 = x ; /* update x0 很大时,此处
g( x ) 3, x [1,2],故不能用g( x) x 3 1 作为迭代函数. 但
1 3
令 ( x ) ( x 1)
( x )
1 33 ( x 1)2
在[1,2] 上满足 0 ( x )
1 1,所以可用 3 3 4 4
1
( x )作迭代函数求 f ( x ) 0 的根.
令 f ( x ) g( x ) x
f ( x ) 有根
a g( x ) b
f ( a ) g(a ) a 0 , f ( b ) g ( b ) b 0

② 不动点唯一?
~ ~ 反证:若不然,设还有 x g( x ),则 ~ ~ ~ ~ x* x g( x*) g( x ) g(ξ ) ( x * x ), 在 x * 和 x 之间。 ~ ~ ( x* x )(1 g(ξ )) 0 而 | g(ξ ) | 1 x* x
问题: 定义4
由g( xk ) xk 1 , 求 xk 1,然而 xk 是否是g(x)定义域上的值? 如果 lim x k x * . 则简单迭代法(3.2)称为收敛的。 k 迭代公式 xk 1 g( xk ), k 0,1, ( 3.2)
* 当迭代(3.2)收敛时,极限点x 又是g( x)的连续点。则 * lim g ( xk ) g( lim xk ) g( x * ) x lim x

y x
分别就下列四种情况说明几何意义: 从点 p0 ( x0 , g( x0 )) 出发,作平行于x轴 的直线交y=x于点 ( g( x0 ), g( x0 )), 过该点 说明两点: { xk } 中 xk 的产生。 作平行于y 轴的直线交y =g(x)于点 (1) { xk } 何时收敛,何时发散。 p1 ( g( x0 ), g( g( x0 ))), 即 p1 ( x1 , g( x1 )). (2)
| xk 1 xk | | x * xk ( x * xk 1 ) | | x * xk | | x * xk 1 | | x * xk | L | x * xk | 可用 | xk 1 xk | 来 Lk 控制收敛精度 | x1 x0 | ? ⑤ | x * xk |
③ 当k 时, xk 收敛到 x* ?
| x * xk | | g( x*) g( xk 1 ) | | g(ξ k 1 ) | | x * xk 1 |
பைடு நூலகம்
L | x * xk 1 | ...... Lk | x * x0 | 0
④ | x * xk |
当x (1,2)时g( x )单调,因此 ( x ) (1,2) g 当x (1,2)时 g(1) 1 1 (0,1) g( 2) 1 1 (0,1) 3 34 3 3 36
2 1 g(1) 3 2 (1,2) g(2) 3 5 (1,2) g( x ) ( 3 x 1) 3 0 3
依次进行下去得到 { xk }, 且 xk 1 g( xk ).
y g( x )
的根
0 g( x* ) 1 y
p0
y
*
p1
p2
yx
y g (x)
y
1 g( x ) 0
*
p0
p2
yx
xk x* 迭代法收敛
y=x y
x*
p1
y g (x)
y=x
3.1 简单迭代法公式
§3 简单迭代法(不动点迭代法)
问题: f(x)实函数.求f(x)=0的近似值。 基本思想方法: ( 3.1) x g( x ) (1)先将f(x)=0化为等价方程 (2) 从某 x0 出发,作序列 { xk } : 初始近似 x g( x ), k 0,1, (迭代公式) ( 3.2) k 1 k k+1次近似 若 { xk } 收敛于 x * 且 g ( x ) 连续,则 x * 是f(x)=0的根。 (3.2)式称为简单迭代法或单点迭代法或单步迭代法。 g(x)称为 迭代函数。 说明: 由f(x)=0化成等价方程x=g(x)的化法有很多种。 讨论的问题: (1) 如何选取迭代函数g(x)? (2) g(x)满足什么条件,迭代序列收敛?
例:给出迭代式,证明 用迭代法求f ( x ) x 3 3 x 1在(1,2)的 实根时的收敛性。 1 3 2 x ( x 1) g( x ) g( x) x 1 x (1,2) 解: 由原式可得:
3 该式迭代不收敛。 从原方程中解出: 3 3 x 1 (3 x 1)1 3 g( x) x
2 1 g( x ) ( 3 x 1) 3 3

5 3
0
x (1,2)
g( x)单调,因此( x) (0,1), g( x) 1 g
收敛于1,2)中的根。 (
根据定理 6可知,当 0 (1,2)时,xk 1 (3 xk 1)1 3 迭代得到的序列 2 x
1 L | xk 1 xk | | g( xk ) g( xk 1 ) | | g( ξ k )( xk xk 1 ) |
L | xk xL 1 | ...... Lk | x1 x0 | k 越 小 收敛越快 x * x k 1 ⑥ lim g x * ? k x * x k x * xk 1 g( ξ k )( x * xk ) lim lim g( x*) k x * x k x * xk k
定理2-7 (局部收敛定理)
x * 是 方 程 g( x )的 根 , ( x )在x *的 某 个 邻 域 一 阶 导 数 续 , x g 连 且 g( x * ) 1, 则 迭 代 法 具 有 局 部 敛 。 收
例 证明f ( x) x 3 x 1 0在[1,2]上有根,且写出一种收 敛的迭代法 解: f (1) f (2) (1) 5 0, f ( x ) 在 [1,2] 上有根. 方程x g( x ) x 3 1与 f ( x ) 0 等价.
x x
0 TOL 可改为 iterations); /* unsuccessful */ Step 7 Output (The method failed after Nmax x
STOP.
Aitken(埃特金)加速方法
xk 1 x* g( xk ) g( x* ) g( k )( xk x* ) xk x* g( xk 1 ) g( x* ) g( k 1 )( xk 1 x* )
* x 0 x0 x1 x2 x g ( x ) 1 y=g(x)
g( x ) 1
*
* 0 x0 x2 x x1 p
0
x
p0 p1 x1 x0 x*
迭代法不收敛
x x0 x*
p1
y=g(x)
x
x1
定理 考虑方程 x = g(x), g(x)C[a, b], 若
( I ) 当 x[a, b] 时, g(x)[a, b]; ( II ) 0 L < 1 使得 | g’(x) | L < 1 对 x[a, b] 成立。 则任取 x0[a, b],由 xk+1 = g(xk) 得到的序列 x k 0 收 k 敛于g(x) 在[a, b]上的唯一不动点。并且有误差估计式:
k
k 1
k
k
g( x映成了 ( x ), 因此 ( 3.2) g 即x*是(3.2)的解。x )把定义域的每个
的解也称 g ( x ) 的不动点。 也可理解成:g ( x ) 是映射,若 x * 满足
* 则 x 称为 g ( x )的不动点。 x g( x ),
*
*
几何意义 求x=g(x)的根
实际计算中往往只在根
x
*
邻近讨论,因此有局部收敛定理4:
定理2-6 (局部收敛定理) 对 方 程 g( x ), 若 存 在 根 *的 某 个 邻 域 : x x * , 且 具 有 性 质 x x R
对 任 意 初 值 0 R, xk 1 g( xk )( K 0,1,)收 敛 , 则 称 k 1 g( xk ) x x 在x *的邻 域R内 具 有 局 部 收 敛 性 。
相关主题