《上海交大数值分析课件数值分析6-2》课件.ppt
文本预览下载声明
一、Jacobi迭代法 第六章 解线性方程组的迭代法 §2 基本迭代法 二、Gauss-Seidel迭代法 三、超松弛迭代法 一、Jacobi迭代法 1. Jacobi迭代法举例 例:求解方程组 其中 精确解是x*=(3, 2, 1)T 解:将原方程组改写为 则迭代公式为: 若选 x(0) =(0, 0, 0)T, 则迭代10次有 x(10) = (3.000032, 1.999838, 0.9998813)T 这就是Jacobi迭代法! 2. Jacobi迭代法一般形式 由方程组 的系数矩阵A非奇异,不妨设 aii≠0,方程组 变形为 对应上述的方程组,可得迭代公式为 其中 x(k)为第 k 次迭代向量. Jacobi迭代法的一般公式 3. Jacobi迭代法的矩阵形式 将方程组记为 Ax = b 其中A非奇异且aii ≠0 (I=1, 2, …, n). 将A分裂为 A = D-L-U 其中 由此可将变形过程用矩阵表示为 Dx = (L + U)x +b 即 x = D-1(L + U)x + D-1b 简记为 x = B0x + f 故Jacobi迭代公式的矩阵形式为 二、Gauss-Seidel迭代法 1. Gauss-Seidel迭代法举例 例:求解方程组 精确解是x*=(3, 2, 1)T 解:将原方程组改写为 则迭代公式为: 若选 x(0) =(0, 0, 0)T, 则迭代5次有 x(5) = (2.999843, 2.000072, 1.000061)T 这就是Gauss-Seidel迭代法:认为最新计算出的分量可能比旧的分量要好些! 2. Gauss-Seidel迭代法一般形式 对应于变形方程组 G-S迭代公式可写为: 其中 x(k)为第 k 次迭代向量. 3. Gauss-Seidel迭代法的矩阵形式 将方程组记为 Ax = b 其中A非奇异且aii ≠0 (I=1, 2, …, n). 将A分裂为 A = D-L-U 其中 由此可将方程组的变形过程用矩阵表示为 Dx = (L + U)x +b 这G-S迭代可表示为 Dx(k+1) = Lx(k+1) + Ux(k) + b 整理得 x(k+1) = (D-L)-1Ux(k) + (D-L)-1b 故G-S迭代公式的矩阵形式为 注: 对有些问题Gauss-Seidel迭代法确实比Jacobi迭代法收敛得快; 但也有Gauss-Seidel迭代法比Jacobi迭代法收敛得慢; 甚至还有Jacobi迭代法收敛,而Gauss-Seidel迭代法发散的情形。 三、超松弛迭代法 1. 超松弛迭代法的一般形式 为了加速迭代过程的收敛,我们通过引入参数,在Gauss-Seidel迭代的基础上得到一种新的迭代法。 记 其中x(k+1)由G-S方法算出。于是有 (i = 1, 2, …, n) 可以把 △x 看作G-S迭代的修正项, 即第 k 次近似解 x(k) 以此项修正后得到新的 近似解 x(k+1) = x(k) + △x 松弛法是将△x 乘上一个参数因子ω作为修 正项而得到新的近似值,其具体公式为: x(k+1) = x(k) + ω △x 即 按上式计算方程组近似解序列的方法称为 松弛法, ω 1时,称为低松弛; ω=1时,是G-S法; ω 1时,称为超松弛法,简称SOR法 2. 超松弛迭代法举例 例:用超松弛法求解下列方程组,取ω=1.4 精确解是x*=(3, 2, 1)T 解:将原方程组改写为 则迭代公式为: 3. 超松弛迭代法的矩阵形式 用分解式 A = D-L-U,则可写为 迭代公式也可写为: 即 显然对任何ω值,(D-ωL)非奇异,故 这就是松弛迭代法的矩阵表示。 注: 松弛法是G-S法的一种加速方法; 具有计算公式简单,程序设计容易; 但需要选择较好的加速因子。 举例 用松弛法解方程组 其精确解为 x* = (-1, -1, -1, -1)T 解:取x(0) = 0,建立相应的迭代公式,并选 取不同的ω值 ,迭代次数如下表: 松弛因子 ω 满足误差 ||x(k)-x*||210-2 的迭代次数 1.0 22 1.1 17 1.2 12 1.3 11 1.4 14 松弛因子 ω 满足误差 ||x(k)-x*||210-2 的迭代次数 1.5 17 1.6 23 1.7 33 1.8 53 1.9 109 接上页 从表中可以看出,对本例ω=1.3是最佳松弛 因子。 作业: 习题 谢谢!
显示全部