第3节 简单迭代法

合集下载

3-迭代

3-迭代
f ( x)
连续,对
2 简单迭代法及其收敛性
迭代法是数值计算中一类典型方法,不仅用
于方程求根,而且用于方程组求解,矩阵求特征 值。 迭代法的基本思想是一种逐次逼近的方法, 首先给定一个粗糙的初值,然后用同一个迭代公
式,反复校正这个初值,直到满足预先给出的精
度要求。
下面的各种求根方法,实质上就是如何构造
lim xk x 故有 k
(3)设 m>k,则有 xm xk ( xi 1 xi )
i k
使 x1 g ( x1 ) , x2 g ( x2 )
则由微分中值定理和定理条件有
( ) x1 x2 x x g(x ) g(x ) g 1 2 1 2 L x1 x2 x1 x2
x1 与 x2 之间。 其中ξ 在 上式出现的矛盾说明 x1 x2
可以看出,迭代序列收敛。 当 k 越来越大时, xk 接近方程的近似根
3 (2) x x3 1 ,这时 g ( x) x 1
x* 1.32472

仍取初值 x0 1.5 ,得迭代公式 xk 1 xk 1
3
k 1, 2,3
x1 2.375 x2 12.3965 x3 1904.01 x4 6.90252 109
迭代序列发散。
按这一迭代公式计算下去,当 k 变大时, xk 远离的 f ( x) 0 精确根。
用迭代法求方程近似根的基本问题 就是 g ( x)如何构造才能使迭代序列 {xk } 收敛。 迭代法的几何意义 求方程(2)的根,实质上就是求直线 y x 与曲线 y g ( x) 的交点 P 的横坐标 x* ,如图。 从图可以看出: (1)如果迭代公式 xk 1 g ( xk ) 收敛,则迭代函数 y g ( x) 曲线走势平坦,即 g ' ( x ) 1 (2)如果迭代公式 xk 1 g ( xk ) 发散,则迭代函数 y g ( x)曲线走势陡峭,即 g ' ( x) 1

第三章 迭代法s4 解线性方程组的迭代法

第三章  迭代法s4 解线性方程组的迭代法

得 x(1) = ( 0.5000, 2.8333, -1.0833 )T

x(9) = ( 2.0000, 3.0000, -1.0000 )T
举例(续)
SOR 迭代格式
( x1( k 1) (1 ) x1( k ) 1 x2k ) 2 ( k 1) (k ) ( k 1) (k ) x2 (1 ) x2 8 x1 x3 3 ( k 1) ( ( x3 (1 ) x3k ) 5 x2k 1) 2
( k ( k 在计算 xi( k 1) 时,如果用 x1 k1) ,, xi(11) 代替 x1 k ) ,, xi(1) ,则 可能会得到更好的收敛效果。此时的迭代公式为
x1( k 1) ( x2k 1) ( k 1) xn
( ( ( b1 a12 x2k ) a13 x3k ) a1n xnk ) a11 ( ( b2 a21 x1( k 1) a23 x3k ) a2 n xnk ) a22
解得
x
x ( k 1) (1 ) x ( k ) D 1 b Lx ( k 1) Ux ( k )
( k 1)
D L
1
1
(1 ) D U x
(k )
D L b
1
GS D L
Jacobi 迭代 x( k 1) D1 ( L U ) x( k ) D1b
M = D, N = M – A = -(L + U)
GS 迭代
x
( k 1)
L D Ux
1
(k )

4.2简单迭代法

4.2简单迭代法

( x) L 1对 x[a, b] 成立。
则① 方程x=φ(x)在[a,b]上有唯一根x*; ② 任取 x0[a, b],由 xk+1 = φ(xk) 得到的序列 x k k 0 收敛于x*。并且有误差估计式: ③ x * x k
L xk xk ห้องสมุดไป่ตู้ 1 L
显然 ( x)在[1, 2]上单调增加。
而(1) 3 2 1,( 2) 3 3 2
即 ( x ) [(1), ( 2)] [1,2], 所以( x )满足条件(I)。

2 1 1 3 | ' ( x ) || ( x 1) | 3 L 1 3 3 4
③ ③
L x * xk xk xk 1 1 L
k ? ④ | x*x | L | x x | k 0 ? 1 L 1
x * xk L | x * xk 1 | L | ( x * xk ) ( xk xk 1 ) |
L x * xk xk xk 1 1 L
3 x2 2 x1 1 3
3 x3 2 x2 1 55
显然迭代法发散

(2) 如果将原方程化为等价方程 仍取初值
x0 0
x
3
x 1 2
迭代格式
xk 1
3
xk 1 2
x1 3 x2 3
依此类推,得
1 x0 1 3 0.7937 2 2 x1 1 3 1.7937 0.9644 2 2
( k = 1, 2, … )
可用 | xk xk 1 | 来控制迭代过程
Lk | x1 x0 | ④ | x * xk | 1 L

迭代法

迭代法

取 x(0)=(0,0,0)T 计算结果如下:
k
x1(k)
1 0.72
x2(k) 0.83
x3(k) 0.84
2 0.971 1.07
1.15
……


11 1.099993 1.199993 1.299991
12 1.099998 1.199998 1.299997
上页 下页
例2 用Gauss—Seidel 迭代法解上题.
x (0 ) (初 始 向 量),
x
(
k
1
)
Bx (k)
f
(k 0,1, , ),
( 2 .7 )
其中B=I-(D-L)-1A= (D-L)-1U=G, f=(D-L)-1b. 称矩 阵G=(D-L)-1U为解Ax=b的高斯—塞德尔迭代法的迭 代矩阵.
上页 下页
由高斯—塞德尔迭代法(2.7)有
(k j
)
)
/
a
i
i
,
j1
ji1
x (k 1) i
(1
)
x
( i
k
)
x~
( i
k
1
)
x(k) i
( x~i(k 1)
x
( i
k
)
),
( i 1 ,2 , , n ).

i1
n
x ( k 1) i
x
(k i
)
(bi
a
i
j
x
( j
k
1
)
a
i
j
x
( j
k
)
)
/
a
i
i

数值分析2 迭代法

数值分析2 迭代法

§2简单迭代法——不动点迭代(iterate)迭代法是数值计算中的一类典型方法,被用于数值计算的各方面中。

一、简单迭代法设方程f(x)=0 (3)在[a,b]区间内有一个根*x ,把(3)式写成一个等价的隐式方程x=g(x) (4)方程的根*x 代入(4)中,则有)(**=x g x (5)称*x 为g的不动点(在映射g下,象保持不变的点),方程求根的问题就转化为求(5)式的不动点的问题。

由于方程(4)是隐式的,无法直接得出它的根。

可采用一种逐步显式化的过程来逐次逼近,即从某个[a,b]内的猜测值0x 出发,将其代入(4)式右端,可求得)(01x g x =再以1x 为猜测值,进一步得到)(12x g x =重复上述过程,用递推关系——简单迭代公式求得序列}{k x 。

如果当k →∞时*→x x k ,}{k x 就是逼近不动点的近似解序列,称为迭代序列。

称(6)式为迭代格式,g(x)为迭代函数,而用迭代格式(6)求得方程不动点的方法,称为简单迭代法,当*∞→=x x k k lim 时,称为迭代收敛。

构造迭代函数g(x)的方法:(1)=x a x x -+2,或更一般地,对某个)(,02a x c x x c -+=≠;(2)x a x /=; (3))(21xa x x +=。

取a=3,0x =2及根*x =1.732051,给出三种情形的数值计算结果见表表 032=-x 的迭代例子问题:如何构造g(x),才能使迭代序列}{k x 一定收敛于不动点?误差怎样估计?通常通过对迭代序列}{k x 的收敛性进行分析,找出g(x)应满足的条件,从而建立一个一般理论,可解决上述问题。

二、迭代法的收敛性设迭代格式为),2,1,0()(1 ==+k x g x k k而且序列}{k x 收敛于不动点*x ,即∞→→-*k x x k (0时)因而有)3,2,1(1 =-≤-*-*k xx x x k k (7)由于),(),)((11*-*-*∈-'=-x x x x g x x k k k ξξ当g(x)满足中值定理条件时有),(),)((11*-*-*∈-'=-x x x x g x x k k k ξξ (8)注意到(8)式中只要1)(<<'L g ξ时,(7)式成立.经过上述分析知道,迭代序列的收敛性与g(x)的构造相关,只要再保证迭代值全落在[a,b]内,便得:假定迭代函数g(x)满足条件(1) 映内性:对任意x ∈[a,b]时,有a ≤g(x) ≤b ;(2) 压缩性:g(x)在[a,b]上可导,且存在正数L<1,使对任意 x ∈[a,b],有L x g <')( (9)则迭代格式)(1k k x g x =+对于任意初值0x ∈[a,b]均收敛于方程x=g(x)的根,并有误差估计式011x x LL x x kk --≤-*(10)证明 :收敛性是显然的。

迭代法

迭代法

第三章 线性代数方程组数值解法(迭代法)迭代法是解线性方程组的另一类方法,特别是适用于解大型稀疏线性方程组,如由某些偏微分方程数值解法中转化来的高阶线性代数方程组。

事实上,迭代法是求解多种数值问题的基本方法。

迭代法作为一种求解数值问题的通用方法,其基本思想是针对求解问题预先设计好某种迭代格式,从而产生求解问题的近似解的迭代序列,在迭代序列收敛于精确解的情况下,按精度要求取某个迭代值作为问题解的近似值,这就是求解数值问题的迭代法。

在这一章,我们的求解问题是线性方程组,下一章是非线性方程和非线性方程组,在不少其他问题中还会用到。

迭代法的内容包括下述两个主要方面: ① 针对具体问题构造具体的迭代格式。

② 研究迭代格式(序列)的收敛性并作误差分析。

3.1 解线性方程组迭代法的基本概念和基本迭代公式解线性代数方程组 b Ax = (3.1.1) (nn RA ⨯∈非奇异,0),,,(21≠=T n b b b b , Tn x x x x ),,,(21 =为解向量 )的迭代法的具体做法是: 把方程组(3.1.1)变形为等价形式)(x F x =我们这里只研究如上式的线性的形式 f Bx x +=(其中nn R B ⨯∈,nR f ∈ )例如把A分解为nn R M N M A ⨯∈-=,则( b M Nx Mx b x N M 11)(--+=→=- )如果令 N M B 1-=, b M f 1-= 这就是前面的迭代格式 f Bx x +=。

(对应的迭代公式是: ),,2,1,0()()1(n k f Bx xk k =+=+ 其中每一步迭代值仅依赖于前一步的迭代值。

称为单步迭代。

) 如果{)(k x }当 ∞→k 时有极限*x 存在, *)(lim x xk k =∞→则称迭代公式是收敛的;3.2 Jacobi 迭代法/Gauss —Seidel 迭代法这是解线性方程组的两种基本的方法。

1. Jacobi 迭代公式设方程组b Ax =中 nn ij Ra A ⨯∈=)(,ni R b b ∈=且 ),,2,1(0n i a ii =≠。

简单迭代法

简单迭代法

问题: 由g ( x k ) = x k + 1 , 求 x k + 1,然而 x k 是否是g(x)定义域上的值? 问题: 是否是g(x)定义域上的值? g(x)定义域上的值 定义4 保持有界, 且全在g(x)定义域内, g(x)定义域内 定义4 若迭代序列 { x k } 保持有界, 且全在g(x)定义域内,则 lim xk = x* . 则简单迭代 简单迭代法(3.2)称为适定 (3.2)称为适定的 若进一步有 k → ∞ 简单迭代法(3.2)称为适定的; 称为收敛 法(3.2)称为收敛的。 称为收敛的 迭代公式 x k + 1 = g ( x k ), k = 0,1,L ( 3 . 2 ) 当迭代(3.2)收敛时, 又是g(x)的连续点, g(x)的连续点 当迭代(3.2)收敛时,极限点 x * 又是g(x)的连续点,则 (3.2)收敛时 * = g( lim xk ) = g( x * ) x = limxk +1 = lim g ( xk ) k →∞
a ≤ x ≤b
x ∈[ a , b ]

邻近讨论, 因此有局部收敛定理4 实际计算中往往只在根 x 邻近讨论, 因此有局部收敛定理4: 若 ( 定理4 局部收敛定理) 定理4 局部收敛定理) g ( x ) 在不动点 x * 的 δ 邻域满足 x ∈ [ x* δ , x* + δ ], 有 g ( x ) g ( x * ) ≤ L x x * ,( 3 . 7 ) 0 < L < 1, * x0 ∈ [ x* δ , x* + δ ], 由 xk +1 = g( xk ) 产生的序列{ x k } 收敛于 x , 则 x* xk ≤ Lk x* x0 , k = 0,1,L. ( 3 .8 ) 且有误差估计: 且有误差估计: 证明: 证明:k ≥ 1, x* xk = g( x* ) g( xk 1 ) ≤ L x* xk 1 ∴ x* x1 ≤ L x* x0 ≤ Lδ < δ,

第三章 迭代法s3 Newton迭代法

第三章  迭代法s3 Newton迭代法

2
’(x*) = 0ቤተ መጻሕፍቲ ባይዱ
Newton 法至少 二阶 局部收敛
定理 设 f(x) 在其零点 x* 的某个邻域内二阶连续可导且
x*是单根 ,则存在 x* 的某个 邻域 N(x*) =[x*- , x* + ], 使得对 x0 N(x*),Newton 法产生的序列以不低于二阶 的收敛速度收敛到 x* 。 (局部收敛定理)
Newton迭代法发散的例子
Newton法局部收敛性

单根:平方收敛 g( x )

f ( x ) f ( x ) f ( x )
2
0

m重根:线性收敛
g ( x ) lim
x x*
f ( x ) f ( x )
f ( x )
2
1
第三章 迭 代 法
第三节 Newton迭代法
Newton迭代
基本思想: 将非线性方程线性化
设 xk 是 f (x)=0 的近似根, 将 f (x) 在 xk Taylor 展开: f ( ) f ( x ) f ( xk ) f ( xk )( x xk ) ( x xk )2 , 在 xk 和 x 之间. 2! f ( xk ) f ( xk ) f ( xk )( x * xk ) x* x k 0 f ( x*) f ( xk ) y f ( xk ) xk 1 xk f ( xk )
x* 是单根时: f’(x* ) 0
x* xk+1 xk
x
Newton迭代
Newton 法可以看作下面的不动点迭代:
xk 1 ( xk ) 其中 ( x ) x f ( x ) f ( x )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



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内 具 有 局 部 收 敛 性 。
相关文档
最新文档