数值分析第三章 解线性方程组的迭代法34页

合集下载

数值分析第三章 线性方程组迭代法

数值分析第三章 线性方程组迭代法
第三章
(一) (二) (四) (五) (六)
线性方程组的迭代解法
主要内容: 主要内容:
迭代法的一般形式 雅可比(Jacobi)迭代法 雅可比(Jacobi) 松弛法 迭代法的收敛条件 小结
高斯-赛德尔(Gsuss Seidel)迭代法 (Gsuss(三) 高斯-赛德尔(Gsuss-Seidel)迭代法
,如此下去, x ( 9 ) = Bx (1) + g = (10.9994 ,11.9994 ,12.9992 ) T 易知,方程组的精确解为
x = (11,12 ,13 ) T
迭代结果(当迭代次数增大时)越来越接近精确解。
例:用Jacobi迭代法求解方程组
8 x1 − 3x2 + 2 x3 = 20 4 x1 + 11x2 − x3 = 33 6 x + 3 x + 12 x = 36 2 3 1
,精确解为 x = ( 3, 2,1)
T
解:按迭代过程
( k +1) 1 x1 = (3 x2 ( k ) − 2 x3( k ) + 20) 8 ( k +1) 1 = (−4 x1( k ) + x3( k ) + 33) x2 11 ( k +1) 1 x3 = (−6 x1( k ) − 3 x2 ( k ) + 36) 12
公式(3-4)表示为
~ ~ x ( k + 1 ) = L x ( k + 1 ) + U x ( k ) + g , ( k = 0 ,1, 2 , L )
b1n 0 0 b12 0 O M ~ b21 0 ~ 其中L = ,U = M M O b M M O n −1n b b L 0 L 0 n1 n 2

第三章 迭代法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 )

数值分析第三章线性方程组迭代法

数值分析第三章线性方程组迭代法

数值分析第三章线性方程组迭代法线性方程组是数值分析中的重要问题之一,涉及求解线性方程组的迭代法也是该领域的研究重点之一、本文将对线性方程组迭代法进行深入探讨。

线性方程组的一般形式为AX=b,其中A是一个n×n的系数矩阵,x和b是n维向量。

许多实际问题,如电路分析、结构力学、物理模拟等,都可以归结为求解线性方程组的问题。

然而,当n很大时,直接求解线性方程组的方法计算量很大,效率低下。

因此,我们需要寻找一种更高效的方法来求解线性方程组。

线性方程组迭代法是一种基于迭代思想的求解线性方程组的方法。

其基本思想是通过构造一个序列{xn},使得序列中的每一项都逼近解向量x。

通过不断迭代,可以最终得到解向量x的一个近似解。

常用的线性方程组迭代法有雅可比迭代法、高斯-赛德尔迭代法和逐次超松弛迭代法等。

雅可比迭代法是其中的一种较为简单的迭代法。

其基本思想是通过分解系数矩阵A,将线性方程组AX=b转化为x=Tx+c的形式,其中T是一个与A有关的矩阵,c是一个常向量。

然后,通过不断迭代,生成序列xn,并使序列中的每一项都逼近解向量x。

高斯-赛德尔迭代法是雅可比迭代法的改进方法。

其核心思想是利用当前迭代步骤中已经求得的近似解向量的信息。

具体而言,每次迭代时,将前一次迭代得到的近似解向量中已经计算过的分量纳入计算,以加速收敛速度。

相比于雅可比迭代法,高斯-赛德尔迭代法的收敛速度更快。

逐次超松弛迭代法是高斯-赛德尔迭代法的改进方法。

其核心思想在于通过引入一个松弛因子ω,将高斯-赛德尔迭代法中的每次迭代变为x[k+1]=x[k]+ω(d[k+1]-x[k])的形式,其中d[k+1]是每次迭代计算得到的近似解向量的一个更新。

逐次超松弛迭代法可以根据问题的特点调整松弛因子的值,以获得更好的收敛性。

除了以上提到的三种迭代法,还有一些其他的线性方程组迭代法,如SOR迭代法、共轭梯度法等。

这些方法都具有不同的特点和适用范围,可以根据问题的具体情况选择合适的迭代法。

数值计算方法—解线性方程组的迭代法

数值计算方法—解线性方程组的迭代法

25数值分析—插 值─基于Matlab 的实现与分析§4 多项式函数与函数的最佳逼近§4.1 插值 (Interpolation) §4.1.1 问题的提出在工程地质测量、机械设计及其制造、信号分析等实践中,经常回遇到曲线的描绘或函数的确定问题,平面上的曲线方程可写成如下的形式()x f y =(1)一般情况下,人们能够知道的或者说能够得到的只是曲线上的若干点,如通过测量可以得到曲线上()n i y x i i ,,1,0, =(2)的1+n 个点,由于信息不全,这1+n 个点不足以确定其所在的曲线,因而人们退一步地希望在充分利用这些数据的前提下,确定一条“简单的”且与未知曲线“最接近”的曲线;此外,在科学研究和计算中,往往回遇到复杂函数的分析与计算,有时用简单的函数来代替,可能会去掉不必要的麻烦而使问题比较容易地得到解决。

只需对自变量做加、减法和乘法运算就能得到函数值是多项式函数显著的特点之一,因此,从计算的角度来说多项式函26数是最简单的,因此,在函数最佳逼近方面,“简单的函数(曲线)”指的就是多项式函数(类);所谓“最接近”或者严格地说最佳逼近,就是从指定的一类简单的函数中寻找一个和给定的函数“最贴近”的函数,从几何(空间)的角度看,函数最佳逼近就是从指定的一类简单的函数(点的集合)中寻找一个和给定的函数(定点)之间距离最短的函数(点)。

函数空间中不同的距离度量确定了不同的逼近准则,不同的逼近准则定义了不同的函数最佳逼近。

在插值问题中,最佳逼近准则是:在已知的全部点处,简单函数(被插值多项式)的函数值与未知函数的函数值相等,即()k k y x P =n k ,,2,1,0 = (3)§4.1.2 关于插值问题的基本定理定理:给定1+n 个曲线上点()n i y x ii,,1,0,, =,如果i x ,ni ,,1,0 =互不相同,那么,在所有次数不超过n 次的多项式函数中,存在唯一的多项式函数()x P n,满足条件(3)。

数值分析 迭代法 二分法和迭代法原理

数值分析 迭代法 二分法和迭代法原理
| xk x*| L | xk1 x*| L2 | xk2 x*| Lk | x0 x*|
lim | xk x* | 0
k
即 lim xk x *.
k
(b) | xk1 x*| L | xk x*|
| xk 1 xk | | ( xk 1 x*) ( xk x*) | xk x * xk 1 x * (1 L) xk x * 1 xk x * xk 1 xk 1 L 又 | xk1 xk | ( xk ) ( xk1 ) | '( ) | | xk xk1 | L | xk xk1 |
等价变换
x = (x) 称为迭代函数
(x) 的不动点x*
不动点迭代
具体做法:
从一个给定的初值 x0 出发,计算 x1 = (x0), x2 = (x1), … x 若 k k 0 收敛,即存在 x* 使得 lim x k x *,则由 的连续
k
xk 1 lim xk 可得 x* = (x*),即 x* 是 的不 性和 lim k k
根的估计
引理3.1(连续函数的介值定理) 设f(x)在 [a,b]上连续,且f(a) f(b)<0,则存在x*(a,b) 使f(x*)=0。 例3.1 证明x33x1 = 0 有且仅有3个实根,并 确定根的大致位置使误差不超过 =0.5。 解:
单调性分析和解的位置 选步长h=2, 扫描节点函数值 异号区间内有根
ek 1 xk 1 x* ( xk ) ( x*) '( )ek e 取极限得 lim k 1 '( x*) 0 线性收敛. k e k

数值分析线性方程组的迭代解法

数值分析线性方程组的迭代解法

数值分析课程实验报告实验名称 线性方程组的迭代解法Ax b =的系数矩阵对角线元素容许误差。

雅可比(Jacobi )迭代法解方程组的算法描述如下:任取初始向量(0)(0)1(xx =1+,并且 1,2,...,n ,计算 11(ni j ii j ib a a =≠-∑()k x ,结束;否则执行④,则不收敛,终止程序;否则转② 迭代法的算法描述)迭代法中,如果当新的分量求出后,马上用它来代替旧的分量,则可能会更快地接近方程组的准确解。

基于这种设想构造的迭代公式,n ,k = (2)算法可相应地从雅可比(Jacobi )迭代法改造得到(Gauss-Seidel)迭代得到的值进一()()()1((1k i ii k k i i x b a x x ωω==+-1,2,,n ,2,k =(3)为松弛因子(显然当1ω=塞德尔迭代公式) ()k ix 通常优于旧值(1)k ix -,在将两者加工成松弛值时,自然要求松弛因子1ω>,以尽量发挥新值的优势,这类迭代就称为逐次超松弛迭代法。

SOR 迭代的关键在于选取合适的松弛因子,松弛因子的取值对收敛速度影响很大,但如何选取最佳松弛因子的问题,至今仍未有效解决,在实际计算时,通常依据系数矩阵的特点,并结合以往的经验选取合适的松弛因子。

练习与思考题分析解答(0)(1,1,1,1)x =[ -0.999976, -0.999976, -0.999976, -0.999976]x =[ -0.99999, -0.999991, -0.999992, -0.999993]x =塞德尔迭代算法的收敛速度要比雅可比迭代算法的收敛速度快SOR 迭代实质上是高斯原理和基本方法相同。

如果选择合适的松弛因子,它能够加快收敛速度。

SOR 迭代算法更加普通,当选取一个合适的松弛因子后收敛速度明显加快。

迭代算法将前一步的结果[ -0.99999, -0.999991, -0.999992, -0.999993]x =[ -0.999992, -0.999993, -0.999994, -0.999995]x =[ -0.999993, -0.999994, -0.999995, -0.999995]x =[ -0.999992, -0.999993, -0.999994, -0.999995]x =[ -0.999999, -1.0, -1.0, -1.0]x =[ -0.999999, -1.0, -1.0, -1.0]x =因为为了保证迭代过程收敛,松弛因子1.3左右。

数值分析--第三章--迭代法

数值分析--第三章--迭代法

数值分析--第三章--迭代法迭代⼀般⽅程:本⽂实例⽅程组:⼀.jacobi迭代法从第i个⽅程组解出xi。

线性⽅程组Ax=b,先给定⼀组x的初始值,如[0,0,0],第⼀次迭代,⽤x2=0,x3=0带⼊第⼀个式⼦得到x1的第⼀次迭代结果,⽤x1=0,x3=0,带⼊第⼆个式⼦得到x2的第⼀次迭代结果,⽤x1=0,x2=0带⼊第三个式⼦得到x3的第⼀次迭代结果。

得到第⼀次的x后,重复第⼀次的运算。

转化成⼀般的形式:(其中L是A的下三⾓部分,D是A的对⾓元素部分,U 是上三⾓部分)得到迭代公式:其中的矩阵B和向量f如何求得呢?其实,矩阵B的计算也很简单,就是每⾏的元素/该⾏上的对⾓元素⼆.Gauss-Seidel迭代法【收敛速度更快】这个可以和jacobi法对⽐进⾏理解,我们以第⼆次迭代为例(这⾥的第⼀次迭代结果都⽤⼀样的,懒得去换)从上表对⽐结果可以看出,Jacobi⽅法的第⼆次迭代的时候,都是从第⼀次迭代结果中,获取输⼊值。

上⼀次迭代结果[2.5,3.0,3.0],将这个结果带⼊上⾯式⼦1,得到x1=2.88,;将[2.5,3.0,3.0]替换成[2.88,3.0,3.0]带⼊第⼆个式⼦的运算,这⾥得到x2=1.95,所以把[2.88,3.0,3.0]替换成[2.88,1.95,3.0]输⼊第三个式⼦计算X3=1.0.这就完成了这⼀次的迭代,得到迭代结果[2.88,1.95,1.0],基于这个结果,开始下⼀次迭代。

特点:jacobi迭代法,需要存储,上⼀次的迭代结果,也要存储这⼀次的迭代结果,所以需要两组存储单元。

⽽Gauss-Seidel迭代法,每⼀次迭代得到的每⼀个式⼦得到的值,替换上⼀次迭代结果中的值即可。

所以只需要⼀组存储单元。

转化成⼀般式:注意:第⼆个式⼦中的是k+1次迭代的第⼀个式⼦的值,不是第k次迭代得值。

计算过程同jacobi迭代法的类似三.逐次超松弛法SOR法上⾯仅仅通过实例说明,Jacobi和Seidel迭代的运算过程。

数值分析实验报告--实验6--解线性方程组的迭代法

数值分析实验报告--实验6--解线性方程组的迭代法

1 / 8数值分析实验六:解线性方程组的迭代法2016113 张威震1 病态线性方程组的求解1.1 问题描述理论的分析表明,求解病态的线性方程组是困难的。

实际情况是否如此,会出现怎样的现象呢?实验内容:考虑方程组Hx=b 的求解,其中系数矩阵H 为Hilbert 矩阵,,,1(),,,1,2,,1i j n n i j H h h i j n i j ⨯===+-这是一个著名的病态问题。

通过首先给定解(例如取为各个分量均为1)再计算出右端b 的办法给出确定的问题。

实验要求:(1)选择问题的维数为6,分别用Gauss 消去法、列主元Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法求解方程组,其各自的结果如何?将计算结果与问题的解比较,结论如何?(2)逐步增大问题的维数(至少到100),仍然用上述的方法来解它们,计算的结果如何?计算的结果说明了什么?(3)讨论病态问题求解的算法1.2 算法设计首先编写各种求解方法的函数,Gauss 消去法和列主元高斯消去法使用实验5中编写的函数myGauss.m 即可,Jacobi 迭代法函数文件为myJacobi.m ,GS 迭代法函数文件为myGS.m ,SOR 方法的函数文件为mySOR.m 。

1.3 实验结果1.3.1 不同迭代法球求解方程组的结果比较选择H 为6*6方阵,方程组的精确解为x* = (1, 1, 1, 1, 1, 1)T ,然后用矩阵乘法计算得到b ,再使用Gauss 顺序消去法、Gauss 列主元消去法、Jacobi 迭代法、G-S 迭代法和SOR 方法分别计算得到数值解x1、x2、x3、x4,并计算出各数值解与精确解之间的无穷范数。

Matlab 脚本文件为Experiment6_1.m 。

迭代法的初始解x 0 = (0, 0, 0, 0, 0, 0)T ,收敛准则为||x(k+1)-x(k)||∞<eps=1e-6,SOR方法的松弛因子选择为w=1.3,计算结果如表1。

线性代数方程组迭代法PPT课件

线性代数方程组迭代法PPT课件

超松弛法
收敛速度快
总结词
总结词
计算量较大
ABCD
详细描述
超松弛法具有较快的收敛速度,尤其对于大型线 性方程组,能够显著减少迭代次数。
详细描述
由于超松弛法的计算量较大,因此在实际应用中 可能需要考虑计算效率的问题。
CHAPTER 04
迭代法的实现步骤
初始化
设置初值
为方程组的解向量设定一个初始值。
迭代法的应用场景
当方程组的系数矩阵难以直接求解时 ,迭代法可以作为一种有效的替代方 案。
在科学计算、工程技术和经济领域中 ,许多问题可以转化为线性代数方程 组求解,而迭代法在这些领域有广泛 的应用。
迭代法的优缺点
优点
迭代法通常比直接法更加灵活和通用,对于大规模和高维度的线性代数方程组, 迭代法更加高效。
缺点
迭代法需要选择合适的迭代公式和参数,并且需要满足收敛条件,否则可能无 法得到正确的解。此外,迭代法的计算过程比较复杂,需要较高的计算成本。
CHAPTER 02
迭代法的基本原理
迭代法的数学模型
迭代法是一种求解线性代数方程组的数值方法,通过不断迭代逼近方程的 解。
迭代法的数学模型通常表示为:$x_{n+1} = T(x_n)$,其中$x_n$表示第 $n$次迭代时的近似解,$T(x)$表示迭代函数。
03
非线性方程组的迭代法在求解优化问题、控制问题 等领域有广泛应用。
在优化问题中的应用
01
迭代法在优化问题中也有广泛应用,如求解无约束优化问题、 约束优化问题和多目标优化问题等。
02
常见的优化问题迭代法包括梯度下降法、牛顿法和共轭梯度法
等。
这些方法通过不断迭代来逼近最优解,广泛应用于机器学习、

3线性方程组的迭代解法

3线性方程组的迭代解法

三、逐次超松弛法(SOR方法)
逐次超松弛法(Successive Over Relaxation Method)可 看成是Gauss-Seidel方法的加速,Seidel迭代法是SOR方法的 特例。将Seidel方法的迭代公式
改写为
x(k1) i
1 aii
(bi
i 1
a x(k 1) ij j
k
0
1
2
3
4
5
6
x1
0
2.5000 2.9773 3.0098 2.9998 2.9999 3.0000
x2
0
2.0909 2.0289 1.9968 1.9997 2.0001 2.0000
x3
0
1.2273 1.0041 0.9959 1.0002 1.0001 1.0000
可见Gauss-Seidel迭代法比Jacobi迭代法收敛要快一些。
x(k 1) BJ x(k ) f J
0
其中
a21
a22
BJ D1(L U )
an1 ann
a12 a11 0
an2 ann
a13 a11
a23 a22
7
a1n1 a11
a2n1 a22
ann1 ann
a1n
a11
a2 n
a22 , fJ D1b
0
二、 Gauss-Seidel 迭代法
x(k ) i
xi(k )
x(k ) i
1 aii
bi
i 1
a x(k 1) ij j
j 1
n
aij
x(jk
)
j i
为加快收敛,在增量 xi(k ) 前加一个因子

工程硕士 数值分析 第三章 线性方程组的迭代解法

工程硕士 数值分析 第三章 线性方程组的迭代解法

证明: ① x * x ( k ) B( x * x ( k 1) ) B ( x * x ( k ) x ( k ) x ( k 1 ) ) (k ) (k ) ( k ) ( k 1) || x * x || q(|| x * x || || x x ||)
其中
x (0) ( x1(0) , x2(0) ,, xn (0) )
是迭代初值。
写成矩阵形式:
A=
D
U
Ax b
(D L U )x b Dx ( L U ) x b 1 1 x D (L U )x D b
L
写成迭代法形式
( k 1 ) (k ) 1 1 x D (L U )x D b
( k 1) (k ) 即 x Bx f
1
1 其中 B D ( L U ), f D b
B称为Jacobi 迭代阵
§3.2 高斯-赛德尔(Gauss - Seidel )迭代法
Jacobi法可能不收敛;
而Jacobi法收敛时, Gauss-Seidel法也
可能不收敛。
§3.3 超松弛迭代法
换个角度看Gauss - Seidel 方法: i 1 n 1 ( k 1) ( k 1) xi [bi aij x j aij x (jk ) ] aii j 1 j i 1 ri( k 1) ( k 1 ) (k ) x i( k ) 其中ri(k+1) = bi aij x j aij x j a ii j i j i
( ( ( ( ( x1k 1) 1 ( a12 x2k ) a13 x3k ) a14 x4k ) a1n xnk ) b1 ) a11 ( ( ( ( ( x2k 1) 1 ( a21 x1k 1) a23 x3k ) a24 x4k ) a2 n xnk ) b2 ) a22 ( ( ( ( ( x3k 1) 1 (a31 x1k 1) a32 x2k 1) a34 x4k ) a3 n xnk ) b3 ) a33

第3章_解线性方程组的迭代法

第3章_解线性方程组的迭代法

第3章 解线性方程组的迭代法§1 Jacobi 迭代法和Gauss-Seidel 迭代法(I )迭代概念(1) A x b = , n n A R ⨯∈, nb R ∈A M N =- , n n M R ⨯∈ , n n N R ⨯∈ ,M 非奇异M x N x b-= Mx Nx b =+11x M Nx M b --=+如果令 11,B M N f M b --==,那么上式写成(2) x B x f =+ 此方程组等价于A x b= 任给(0)n xR ∈,(1)(0)x B x f =+(2)(1)xB x f =+(3) (1)()k k xBx f +=+由(3)可以确定{}()k x ,当()*k n xx R →∈,即()*0k x x -→ 时,有**x Bx f =+*x 同样满足 *Ax b =定义 式(3) (1)()k k xBx f +=+称为求解 (1)Ax b = 的简单形式迭代法,B 称为迭代矩阵。

(II )Jacobi 迭代法Ax b =写成分量形式有1,1,2,,nij ji j a xb i n ===∑111,1,2,,i nii i ij j ijji j j i a x a x a xb i n -==+++==∑∑假定 0ii a ≠ ,那么有1111(),1,2,,i ni i ij j ij j j j i ii x b a x a x i n a -==+=--=∑∑迭代法为任给 (0)(0)(0)(0)12(,,,)T n n x x x x R =∈1(1)()()111(),1,2,,;0,1,i nk k k ii ij j ij j j j i ii xb a x a x i n k a -+==+=--==∑∑即:{}{}{}(1)()()()11122133111(1)()()()22211233222(1)()()()1122,111(1(1(k k k k n n k k k k n n k k k k n n n n n n n nnx b a x a x a x a x b a x a x a x a x b a x a x a x a +++--⎧=----⎪⎪⎪=----⎪⎨⎪⎪⎪=----⎪⎩上式迭代方法称为Jacobi 迭代 例1.1用Jacobi 迭代法解方程组123123123522142241x x x x x x x x x +-=⎧⎪++=⎨⎪-+=-⎩解 Jacobi 迭代方法为(1)()()()()123231(122)0.20.40.45k k k k k x x x x x +=-+=-+ (1)()()()()213131(2)0.50.250.254k k k k k x x x x x +=--=-- (1)()()()()312121(12)0.250.250.54k k k k k x x x x x +=--+=--+取 (0)3(0,0,0)T xR =∈()()()123000010.20.50.2520.10.51250.05110.0000080.4998820.000039120.0000340.4999880.000025130.0000150.5000020.000003k k k k x x x ------方程组 Ax b =的准确解为*3(0,0.5,0)Tx R =∈。

数值分析第三章线性方程组的迭代法课件

数值分析第三章线性方程组的迭代法课件

§ 3.3.2 Gauss—Seidel 迭代法的矩阵表示
将A分裂成A =D+L+U,则Ax b 等价于
(D+L+U )x = b
于是,则高斯—塞德尔迭代过程
Dx(k1) Lx(k1) Ux(k) b
因为 D 0 ,所以 D L D 0

(D L)x(k1) Ux(k) b
x(k1) (D L)1Ux(k) (D L)1b
e(k) x(k) x* Gx(k1) d (Gx* d) G(x(k1) x* ) Ge(k1)
于是 e(k) Ge(k1) G 2e(k2) Gk e(0)
由于 e (0)可以是任意向量,故 e(k) 收敛于0当且仅
故 (D L)x(k1) (1)D U x(k) b
显然对任何一个ω值,(D+ωL)非奇异, (因为假设 aii 0,i 1,2,, n )于是超松弛迭代公式为
x(k1) (D L)1 (1)D U x(k) (D L)1b
令 L (D L)1 (1)D U
f (D L)1b
则超松弛迭代 公式可写成
称为雅可比迭代公式, B称为雅可比迭代矩阵
雅可比迭代矩阵表示法,主要是用来讨论其收敛 性,实际计算中,要用雅可比迭代法公式的分量 形式。即
x1(k 1)
1 a11
(a12 x2(k )
a13 x3(k )
a1n xn(k )
b1 )
x2(k 1)
1 a 22
(a21 x1(k )
a23 x3(k )
§ 3.4.2超松弛迭代法的矩阵表示 设线性方程组 Ax=b 的系数矩阵A非奇异,且主对角
元素 aii 0(i 1,2,, n) , 则将A分裂成
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

b2
,g
D
1b
a 22
bn
a nn
G-S迭代法迭代公式可写成
x(k+1)=D-1Lx(k+1)+D-1Ux(k)+D-1b
Dx(k+1)=Lx(k+1)+Ux(k)+b
(D-L)x(k+1)=Ux(k)+b x(k+1)=(D-L)-1Ux(k)+(D-L)-1b
所以G-S迭代法可以写成
x ( ik 1 ) a 1 i( ib i i j 1 1 a ix j( j k ) j n i 1 a ix j( j k )) ,i 1 ,2 , n ,k 0 , 1 ,2 ,
可见 ,J迭代法的迭代矩阵为
0
B
a 21
a 22
a n1 a nn
a 12 a 11 0
an2
式(3.4)称为Gauss-Seidel迭代法,简称为G-S迭代法.
G-S迭代法也可记为
1 ( k 1 )
x a ( b a xa x) i
i ii
i 1
n
( k 1 )
( k )
ijj j 1
ijj j i 1
,i 1 ,2 , n ,k 0 , 1 ,2 ,
例1 用J法和G-S法求解线性方程组
10 1
10 2
5
同样取初始向量x(0)=(0,0,0)T, 计算结果为
由计算结果可见,G-S迭代法收敛较快.取精确到小数 点后两位的近似解,G-S迭代法只需迭代3次,而J迭代法需 要迭代7次.
为了进一步研究,从矩阵角度来讨论上述迭代法. 对线性方程组Ax=b,记
D=diag(a11,a22,…,ann)
由此建立J迭代法迭代公式
x(k+1)=D-1(L+U)x(k)+D-1b
k=0,1,2,…
或写成
其中
x(k+1)=Bx(k)+g
k=0,1,2,…
0
B
D1(L
U)
a21 a22
an1 ann
a12 a11 0
an2
ann
a1n a11
a2n a22
0
b 1
a 11
x(2k1)
a21 x(k) a1
22
a23 x(k) a3
22
a2n x(k) an
22
b2 a22
x(nk1)
an1 x(k) a1
nn
an2 x(k) a2
nn
ann1 ann
x(k) n1
bn ann
(3.3) ,k 1,2,3,
式(3.3)称为Jacobi迭代法,简称为J迭代法. J法也记为
其中
x(k+1)=Gx(k)+g
k=0,1,2,…
G=(D-L)-1U , g=(D-迭代法 x(k+1)=Mx(k)+g
的收敛性.
k=0,1,2,…
记误差向量e(k)=x(k)-x*,则迭代法收敛就是e(k)0.
由于
x(k+1)=Mx(k)+g k=0,1,2,…
由此建立方程组的迭代公式
x(k+1)=Mx(k)+g , k=0,1,2,… (3.2) 其中M称为迭代矩阵。对任意取定的初始向量x(0),由(3.2) 式可逐次算出迭代向量x(k),k=1,2,…, 如果向量序列{x(k)} 收敛于x*,由(3.2)式可得
x*=Mx*+g 从而x*是方程组x=Mx+g的解,也就是方程组Ax=b的解.
xn
b1 a11
x2
a21 a22
x1
a23 a22
x3
a2n a22
xn
b2 a22
xn
an1 ann
x1
an2 ann
x2
ann1 ann
xn1
bn ann
从而得迭代公式
x1(k1)
a12 x(k) a2
11
a13 x(k) a3
11
a1n x(k) an
11
b1 a11
11
a1n x(k) an
11
b1 a11
x(2k1)
a21 x(k1) a1
22
a23 x(k) a3
22
a2n x(k) an
22
b2 a22
x(nk1)
an1 x(k1) a1
nn
an2 ann
x(k1) 2
ann1 ann
x(k1) n1
bn ann
(3.4) ,k1,2,3,
0
0 a12 a13 a1n
a21 0
0 a23 a2n
L
a31
a32
,U
an1n
an1 an2 ann1 0
0
则有
A=D-L-U
于是线性方程组 Ax=b 可写成 (D-L-U)x=b
等价于 Dx=(L+U)x+b 或 x=D-1(L+U)x+D-1b
所以
x*=Mx*+g k=0,1,2,…
e(k+1)=Me(k) , k=0,1,2,… 递推可得
110
x(k) 1
x 3 (k) 10 2
7 5
取初始向量x(0)=(0,0,0)T,迭代可得
x 1 ( 1 ) 1 .4 ,x 2 ( 1 ) 0 .5 ,x 3 ( 1 ) 1 .4 x 1 (2 ) 1 .1 ,x 2 ( 1 2 ) 1 .2 ,x 3 (2 ) 1 .11
计算结果列表如下:
可见,迭代序列逐次收敛于方程组的解, 而切迭代7次得到 精确到小数点后两位的近似解.
G-S迭代法的计算公式为:
x(k1) 1
130x2(k)
x 1 (k) 10 3
7 5
(k1) 1 (k1) 3 (k) 1
x x x 2
51
10 3
2
(k1) x x x 3
1 (k1) 3 (k1) 7
10x1 3x2 x3 14 2x1 10x2 3x3 5 x1 3x2 10x3 14
方程组的精确解为x*=(1,1,1)T.
解 J迭代法计算公式为
x x x (k1) 1
3 (k) 1 (k) 7
10 2
10 3
5
x2(k1)
x 1 (k) 51
x 3 (k) 10 3
1 2
x3(k1)
这种求解线性方程组的方法称为迭代法 ,若迭代序列 {x(k)}收敛,则称迭代法收敛,否则称迭代法发散.
§1 Jacobi迭代法和Gauss-Seidel迭代法
Jacobi方法是由方程组(3.1)中第k个方程解出x(k),得 到等价方程组:
x1
a12 a11
x2
a13 a11
x3
a1n a11
a nn
a 1n a 11
a 2n
a 22
0
若记 g(b1 , b2 ,, bn )T,则J迭代法可写成
a11 a22 ann
x(k+1)=Bx(k)+g
k=0,1,2,…
若在J迭代法中,充分利用新值, 则可以得到如下的迭 代公式
x1(k1)
a12 x(k) a2
11
a13 x(k) a3
相关文档
最新文档