7.2 迭代法及其收敛性

合集下载

迭代法的收敛性与稳定性 - 松弛迭代法、迭代法的收敛性与稳定性

迭代法的收敛性与稳定性 - 松弛迭代法、迭代法的收敛性与稳定性
Bk 0(零矩阵)(k )
定义 6.5 设有矩阵序列 Ak (aij(k ) ) Rnn 及 Ak (aij ) Rnn ,如果 n2 个数列极限存在
且有
lim
k
a (k) ij
aij
(i,
j
1,2,..., n)

Ak
称收敛于
A
记为 lim(k
)

定理 6.5
lim
k
Ak
A
lim
三 松弛法例题与程序
例 6.9 取 1.4, x(0) (1,1,1)T 用超松弛法解方程组
2x1 x2
1
x1 2x2 x3 0
x2 2x3 1.8
� � 解:由 xi(k1)
(1 )xik
aii
(bi
i 1 j 1
a x(k 1) ij j
n
aij
x
(k j
x j(k ) ) / aii xi(k )
j i
j i 1
i 1
n
(bi aij x j(k 1) aij x j(k ) ) / aii
ji
ji
(i 1,, n; k 0,1,).
� � i1
n
xi
b x(k 1) ij j
bij
x(k) j
gi
x(k) i
j 1
j i 1
a x(k1) ij j
aij x(jk ) ) / aii .
j 1
j i 1
(2) 再由 x(k) 与 ~xi(k 1) 加权平均定义 xi(k 1) ,即
x(k 1) i
(1 )xi(k)
x%i(k 1)

第5节_迭代法的收敛性

第5节_迭代法的收敛性
x ≠0
Bx x

Bx1 ቤተ መጻሕፍቲ ባይዱ1
= 1,与已知矛盾!
线性方程组迭代法收敛性
推论1:对任意初始向量x (0)和右端项g,若 M < 1, 由迭代式 x ( k +1) = Mx ( k ) + g产生的向量序列{ x ( k ) }收敛.
证明:矩阵范数性质3:ρ ( A) ≤ || A ||
迭代法收敛与否只决定于迭代矩阵的谱半径,与初始向 量及右端项无关。 对同一方程组,由于不同的迭代法迭代矩阵不同,可能 出现有的方法收敛,有的方法发散的情形。
且至少有一个i值,使上式中不等号严格成立,则称A为弱 对角占优阵。若对所有i,上式不等号均严格成立,则称A 为严格角占优阵。
定义:如果矩阵A不能通过行的互换和相应的列互换成 A11 为形式 A = 0 A12 ,其中A11,A22为方阵,则称A为不可约。 A22
1 1 0 2 1 0 P = I13 例: A = 1 1 0 PT AP = 0 1 1 → 0 1 2 0 1 1
k →∞
证:设u为A特征值λ对应的特征向量, 则:Ak u = λ Ak -1u =...=λ k u 即:λ k为矩阵Ak的特征值。
ρ 所以:(Ak) [ ρ ( A)]k =
线性方程组迭代法收敛性
1- ρ ( A) > 0, 2 定理:设A为任意n阶方阵, 存在矩阵范数 ,使得 则对任意正数ε , 存在矩阵 1 + ρ ( A) A ≤ ρ ( A) + ε = <1 范数 ,使得: 2 证: 充分性:若ρ ( A) < 1 ,取ε = 则有: A = 0 lim
Gauss-Seidel迭代收敛性:

7.2 迭代法及其收敛性

7.2 迭代法及其收敛性

1 2 3 4 5 6 7 8 9 10 30 40 45
1.358484290 1.355301399 1.355302727 1.355301425 1.355301394
由上表数据可看出,若取迭代函数为(c ), (d )和 (e )三种情形,算法表现良好,均能较快得到方程 的近似根.
下面讨论用迭代的方法求 ( x )的不动点x * .取 方程(7.2.1)解的初始近似值x0 , 通过如下迭代
xk xk 1 , k 1,2,, 产生迭代序列 xk . (7.2.2)
如果序列 xk 收敛到x * ,即 lim xk x * ,因 ( x )
x k x * x k 1 x * L x k 1 x * L x k 2 x L x0 x .
* k *
2

7.2.3
由0 L 1可得 lim Lk 0,因此对上式取极限可得
k
lim xk x * lim Lk x0 x * 0
4 x 在[1,2] 的值域为[ 1.6, 2].此外
(7.2.1)
其中 ( x )为连续函数,其取法不唯一,例如可取
方程(7.2.1)的解称为函数 ( x )的不动点, 求方程 (7.2.1)的解的问题称为不动点问题.
因此, 对于方程f ( x ) 0,为求出它的一个实根, 常 常将其化为求解等价的不动点问题,因为不动点 问题的形式往往更易于分析求解.
但对于情形(a ),迭代序列发散;在情形(b)中, 出现负数开根号,从而迭代不能继续下去.
因此, 迭代函数 ( x )的选取将会对迭代过程的收 敛性产生很大的影响.事实上, 要使迭代法产生的序 列 xk 收敛,则迭代函数 ( x )应满足一定的条件.

数值分析第7章-方程近似根

数值分析第7章-方程近似根
机动 上页 下页 首页 结束
例7-2 求x x 1 0在1.5附近的根x *。
3
解:( 1)将方程改写成下列形 式 x 3 x1 据此建立迭代公式 x k 1 3 x k 1 (k 0,1,2, )
k xk
k
xk
k
xk
0 1.5 1 1.35721 2 1.33086
它表明定理中的条件(2)可用(2.5)代替。
机动 上页 下页 首页 结束
1 在例7-2中,当 (x) x 1时, (x) (x 1) 2/3 , 3 1 1 1 在区间[1, 2]中, (x) ( ) 3 1, 又因 3 4
3
1 3 2 (x) 3 3 2 故定理1中条件1成立。所以迭代法收敛。 而当 (x) x 3 1时, (x) 3x 2在区间[1,中 2] (x) 1 不满足定理条件。
对定理1的条件(2),在使用时如果
(2.4)
(x) C1[a, b]且对任意x [a, b]有 (x) L 1
则由中值定理可知对x, y [a, b]有 (2.5)
(x) (y ) ( )( x y ) L x - y , (a, b)
机动 上页 下页 首页 结束
例7 - 4 牛顿法求方程x x 5 0的近似根.
3
1)判断根的大致范围
f (0) 5, f (2) 5 x* ( 0,2 )
2)求导判断收敛性
f 3x 2 1 0 单调 f ( x) 6 x 0, 连续
定理2 在定理1的条件下, 对任意初值 x 0 [ a, b], 迭代序列 (2.2)均收敛于 ( x)的不动点x*, Lk | x k x* | | x1 x0 | . 1 L

37第七节 迭代法及其收敛性

37第七节 迭代法及其收敛性
从而 ||x(k+1) -x(k)|| =||(x(k+1) -x*)-(x(k) -x*)|| ||x(k) -x*||-||x(k+1) -x*|| ||x(k) -x*||-q||x(k) -x*||
=(1-q) ||x(k) -x*||
数学学院 信息与计算科学系
故得
1 q ( k 1) (k ) x x x x x ( k ) x ( k 1) 1 q 1 q k q q x ( k ) x x ( k ) x ( k 1) x (1) x(0) 1 q 1 q


数学学院 信息与计算科学系
二、迭代法的收敛性
定义2 如果
lim A
k
k
(k )
A O
则称矩阵序列{A(k)}依范数收敛于A,记
lim A( k ) A
由范数的等价性可以推出,矩阵序列{A(k)} 依某种范数收敛,则依任何一种范数它都收敛,故 下面不强调是在那种范数意义下收敛。
x
k 1
Bx( k ) f
k 0,1,2
其中B称为迭代矩阵。
数学学院 信息与计算科学系
若序列{x(k)}收敛,即
lim x ( k ) x
k
显然有
x Bx f
此极限 x*就是方程组 Ax=b 的解。 定义1 如果序列{x(k)}的极限存在(记 x*), 则称迭代法收敛,x*就是方程组 Ax=b 的解,否则 称此迭代法发散。
数学学院 信息与计算科学系
x(k+1) -x*= B( x(k) -x* ) , x(k+1) –x(k)= B( x(k) –x(k-1) )
即有

数值计算方法 迭代法及其收敛性 - 迭代法及其收敛性

数值计算方法 迭代法及其收敛性 - 迭代法及其收敛性

x*
lim
k
x
k
1
lim
k
(
xk
)
(lim k
xk
)
( x* )
故k充分大时,xk可作为方程根的近似值
按上述方法构造迭代格式来求解方程的方法称为简单迭代法或逐
次迭代法。
不动点迭代法: 将方程 f ( x) 0 改写为: x ( x).
1 若要求x*满足f ( x* ) 0,则x* ( x* );反之亦然,
重点
实多项式方程
f ( x) a0 x n a1 x n1 an1 x an (a0 0),
的求根问题.
(其中系数ai (i 0,1,, n)为实数)
若 方程f ( x*) 0, 则x*称为函数f ( x)的零点
1
若方程 f (x) (x x* )m g(x),
其 中m为 正 整 数 , 且g( x* ) 0.
真真解解::xx==1.13.234274272
典型例题
例3
用不同方法求方程x2 3 0的根x* 3.
(1) xk1 xk2 xk 3,(x) x2 x 3
(2)
xk 1
3 xk
,(x)
3, x
(3)
xk 1
xk
1 4
( xk2
3), ( x)
x
1 4
(x2
3)
(4)
xk 1
1 2
典型例题
(2)
xk1
3 xk
,(x)
3, x
( x* ) 1
(3)
xk 1
xk
1 4
(
x
2 k
3),( x)
x
1 (x2 4

迭代法和收敛性

迭代法和收敛性

x1(k x2(k
1) 1)
0.2x2(k) 0.1x3(k) 0.3
0.2x1(k )
0.1x3(k) 1.5 , k
0,1, 2,
x3(k
1)
0.2x1(k )
0.4x2(k )
2
迭代计算
x(0) 0 [0, 0, 0]T
x(1) 1
0.3
x(1) 2
1.5
x1(k x2(k
其中系数矩阵非奇异,且主对角元aii≠0,(i
=1,2,…,n),由第i 个方程解出xi,有
x1
1 a11
(b1
a12 x2
a13 x3
x2
1 a22
(b2
a21x1
a23x3
xn
1 ann
(bn
an1x1
an2 x2
a1n xn ) a2n xn )
ann1xn1)
建立迭代格式
aij
x
( j
k
)
)
j i 1
加速
x ( k 1) i
( k 1)
xi
(1 ) xi(k )
i 1, 2, , n
或合起来写成迭代加速的形式
x (k 1) i
aii
(bi
i 1
a x (k 1) ij j j 1
n
aij
x
(k j
)
)
(1
)
xi( k
)
j i1
参数 称为松弛因子, 1 时迭代格式就是高斯-
x (k1) i
1 aii
(bi
n
aij x j(k ) ),
j1
(i 1,2,, n)

迭代法的收敛条件

迭代法的收敛条件
4
解线性方程组的迭代法
定理3.5 设 A 为n阶方阵, 则
lim A k 0
k
的充要条件为
( A) 1.
k k
[证明]必要性. 若 lim A 0
由定义3.2得

k
lim A
k
k
0
k k
0 ( A ) [ ( A)] A
lim[ ( A)] 0
k
松弛法收敛的必要条件是 0 2。 设松弛法的迭代矩阵 M 有特征值
[证明]
1 , 2 ,
n . 因为 det( M ) 12 n (M )n
det(M ) 1
10
由定理3.6,松弛法收敛必有
p19
解线性方程组的迭代法
又因为
M (D L ) 1[(1 ) D U]
k k
于是由极限存在准则,有 所以 ( A) 1.
5
解线性方程组的迭代法
充分性.

( A) 1,
1 ( A) 0, 取 2
由定理3.4存在一种存在一种
, 使得
A ( A)

A
k
A ,
k
k
1 ( A) 1 2 于是
k
lim A
非严格对角占优,但 A为对称正定矩阵, 1.4 故松弛法收敛。 上述结论的证明可参看[1],[7].
23
例 对线性方程组
x1( k 1)
( k 1) 20x1 2x2 3x3 24 x2 x 8x x 12 2 ( k ) 3 ( k ) 30 2 3 1 ( k 1) x3 x1 x2 2 x1 3x2 15x3 30 15 15 15 讨论Jacobi迭代法及Gauss-Seidel迭代法的收敛性. 解: Jacobi迭代的迭代矩阵为
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

k4.1045
1/ 2
表 7.2.1 用不动点迭代法计算例7.2.1的结果
0 (a) 1.5 -0.625 6.447 -378.2 5.3697e7 -1.547e23 (b) 1.5 0.912871 2.454577 (c) (d) (e) 1.5 1.5 1.5 1.241638702 1.333333333 1.365079365 1.424290116 1.305205188 1.387624336 1.332682451 1.370291856 1.344991115 1.362217505 1.350582520 1.358732441 1.355350555 1.354767869 1.355301399 1.355384418 1.355301398 1.355288480 1.355303407 1.355301085 1.355301446 1.355301390
*
k
xk x L x0 x L max x0 a , b x0 ,
* k * k
从而 7.2.4 成立.
再由 7.2.3 , 对m k 1, 我们有
x m x k x m x m 1 x m 1 x m 2 x k 1 x k x m x m 1 x m 1 x m 2 x k 1 x k Lm 1 x1 x0 Lm 2 x1 x0 Lk x1 x0 Lk x1 x0 1 L L2 Lm k 1 .
(7.2.1)
其中 ( x )为连续函数,其取法不唯一,例如可取
方程(7.2.1)的解称为函数 ( x )的不动点, 求方程 (7.2.1)的解的问题称为不动点问题.
因此, 对于方程f ( x ) 0,为求出它的一个实根, 常 常将其化为求解等价的不动点问题,因为不动点 问题的形式往往更易于分析求解.
7.2
迭代法及其收敛性
本节主要内容
不动点迭代
不动点迭代的收敛性
不动点迭代的加速
非线性方程
f ( x) 0
可等价改写为
7.2.1 不动点迭代
非线性方程f ( x ) 0可等价改写为 x ( x ),
x x f ( x ), 或者 x x 5 f ( x ).


1/2
e.
x3 3 x2 8 x 5 x x . 2 3x 6x
取初始值x0 1.5,利用MATLAB编写如下m文件 Example7 _ 2 _1.m并运行,详细结果见表7.2.1.
%Example7 _ 2 _1 eps 1e 8; N 300;x0 1.5; phi1 = @(x)(x- x^ 3 - 3* x^ 2 + 8); phi 2 = @(x)((8 / x- 3* x) ^ 0.5); phi3 = @(x)(((1 / 3) * (8 - x^ 3)) ^ 0.5); phi 4 = @(x)((8 / (3 + x)) ^ 0.5); phi 5 = @(x)(x- (x^ 3 + 3* x^ 2 - 8) / (3* x^ 2 + 6 * x)); Hfun = @fixed p oint; [k, x] = feval(Hfun, phi 4, x 0,eps, N)
但对于情形(a ),迭代序列发散;在情形(b)中, 出现负数开根号,从而迭代不能继续下去.
因此, 迭代函数 ( x )的选取将会对迭代过程的收 敛性产生很大的影响.事实上, 要使迭代法产生的序 列 xk 收敛,则迭代函数 ( x )应满足一定的条件.
7.2.2 不动点迭代的收敛性
快.当L接近于1时, 收敛速度可能会较慢, 而且即使 xk 1 xk 很小, 误差 x * xk 也可能很大.
例7.2.2
1
对于例7.2.1中的选取1 x x x 3 3 x 2 8,
我们有1 1 5, 1 2 10, 因此1 x 不是从 1,2 到其自身内的映射.此外,1 ' x 1 3 x 2 6 x ,因此对 所有x [1,2], 均有 1 ' x 1.尽管定理7.2.2不能保证 算法一定失败, 但我们没有期望它收敛的理由 . 1/2 8 的选取, 易知 2 对于例7.2.1中 4 x 3 x
4 x 在[1,2] 的值域为[ 1.6, 2].此外
定理7.2.1
1如果函数 ( x )在区间 a , b 上连续,且对任意 x a , b 的有 ( x ) a , b , 则 x 在 a , b 上有
不动点.
2 进一步地, 如果 ( x )在(a, b)上存在, 且存在一个
if abs(x-x0)<eps return else x0=x; if k==N warning('算法超出最大迭代次数!') end end end
例 7.2.1
方程
f ( x) x3 3 x2 8 0
在[1, 2]内由唯一实根.有许多方法可以将方程转 化为不动点形式,例如 :
1 2 3 4 5 6 7 8 9 10 30 40 45
1.358484290 1.355301399 1.355302727 1.355301425 1.355301394
由上表数据可看出,若取迭代函数为(c ), (d )和 (e )三种情形,算法表现良好,均能较快得到方程 的近似根.
证明
g(a ) (a ) a 0, g(b) (b) b 0.
由零点定理可知, 存在p a , b 使得g ( p ) ( p) p 0, 进而有 ( p) p, 此说明p为的不动点.
2
进一步地, 假设 ( x ) L 1, x a , b .反证
k
连续, 于是
k k
x* lim xk lim xk 1 lim xk 1 x * ,
k



从而得到x *为函数 ( x )的不动点.上述迭代称为不 动点迭代, 迭代公式 7.2.2 称为不动点迭代公式,
( x )又称为迭代函数.
x k x * x k 1 x * L x k 1 x * L x k 2 x L x0 x .
* k *
2

7.2.3
由0 L 1可得 lim Lk 0,因此对上式取极限可得
k
lim xk x * lim Lk x0 x * 0
法假设p, q均为 a , b 上的不动点, 且p q, 则由中值 定理可知, 存在一个介于p, q之间的数 , 使得
( p) (q )
因此
pq
( )
p q ( p ) (q ) '( ) p q L p q p q ,
由定理7.2.2可知, lim xm x * ,因此
m


x * xk lim xm xk lim Lk x1 x0
m m
m k 1

i 0
Li
Lk x1 x0 . 1 L 此式说明 7.2.5 成立.
由上述推论可知, L越小, 序列 xk 收敛得越
2.3 令k : k 1.
2.4 令x0 : x .
步骤3 输出信息“算法超出最大迭代次数!”, 算法终止.
算法7.2的Matlab程序如下:
算法7.2的MATLAB程序
%fixed _ point.m function k, x fixed _ point(phi, x0,eps, N) %功能:用不动点解方程x = (x) fprintf ('kx \ n '); fork 1: N x phi(x0); fprintf ('%3d,%10.9f \ n ',k, x)
* x 收敛 到 a , b 中唯一的不动点 x . k
证明 由定理7.2.1可知, x 在 a , b 中有唯一不动 点x .由于 x 将 a , b 映射到其本身,因此序列 xk
*
是有定义的, 且xk [a , b], k 0.由条件⑵, 结合中值 定理可知
这是一个矛盾, 从而有p q, 此说明 a , b 上的不动 点是唯一的.
定理7.2.1的 ( x ) a, b
x
在 a , b 上连续
定理7.2.2 若函数 x 在区间 a , b 上连续,且满足
正的常数L 1使得 ( x ) L, x a , b ,
则 ( x )在 a , b 上的不动点是唯一的.
1 如果 (a ) a或者 (b) b, 则 在端点处有 不动点.否则,由 ( x ) a , b , x a , b 可知, (a ) a 且 (b) b.因此,函数g( x ) ( x ) x在 a , b 上连续, 且
下面讨论用迭代的方法求 ( x )的不动点x * .取 方程(7.2.1)解的初始近似值x0 , 通过如下迭代
xk xk 1 , k 1,2,, 产生迭代序列 xk . (7.2.2)
如果序列 xk 收敛到x * ,即 lim xk x * ,因 ( x )
a. x 1 x x x 3 3 x 2 8; 1/2 8 x 2 x 3 x ; x
b.
1 3 c. x 3 x 8 x ; 3 1/2 8 d . x 4 x ; 3 x
相关文档
最新文档