数值分析 第六章 解线性方程组的迭代法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
直到求得的近似解能达到预先要求的精度, 则迭代过程终止,以最后得到的近似解作为线
性方程组的解。
当迭代到第10次有
( ( x (10) ( x1(10) , x210) , x310) )T (3.000032 ,
1.999838 ,
0.9998813T )
计算结果表明,此迭代过程收敛于方程组的精 确解x*= (3, 2, 1)T。
这样便得到一个迭代公式
x ( k 1) D 1 ( L U ) x ( k ) D 1b
D ( A D) x D b ( I D 1 A) x ( k ) D 1b
(k )
17/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
11/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
考察一般的n元线性方程组
写成
a11 x1 a12 x2 a1n xn b1 a x a x a x b 21 1 22 2 2n n 2 , an1 x1 an 2 x2 ann xn bn 假定本章中,aii 0.
2/68
郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
§6.1 引言
线性方程组的数值解法有:直接法和迭代法。 直接法:在假定没有舍入误差的情况下,经过有限次 运算可以求得方程组的精确解; 迭代法:从一个初始向量出发,按照一定的迭代格 式,构造出一个趋向于真解的无穷序列。
郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
13/68
§6.2 几种常用的迭代格式
(Jacobi迭代公式)
1 ( k 1) (k ) (k ) (k ) ( a12 x 2 a13 x3 a1n x n b1 ) x1 a11 ( k 1) 1 (k ) (k ) (k ) ( a 21 x1 a 23 x3 a 2 n x n b2 ) x2 a 22 1 ( k 1) (k ) (k ) (k ) x n a (a n1 x1 a n 2 x 2 a n n 1 x n 1 bn ) nn
3/68
郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
§6.1 引言 系数矩阵的分类
第一类:低阶稠密方程组,即系数矩阵的阶数不高,含零
元素很少,在线性代数等课程学习中通常见到的,都属这
类方程组; 第二类:高阶稀疏方程组,系数矩阵的阶数很高,如几百 阶、甚至成千上万阶,其中零元素成片分布,数量上绝对 占优。
记作
16/68
A=L+D+U
郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
§6.2 几种常用的迭代格式
(Jacobi迭代公式)
则 Ax b 等价于 ( L D U ) x b
Dx ( L U ) x b 因为 aii 0(i 1,2,, n) ,则 x D 1 ( L U ) x D 1b
1
1
§6.2 几种常用的迭代格式
(Jacobi迭代公式)
令
则有
B ( I D1 A)
g D1b
x( k 1) Bx( k ) g (k = 0,1,2…)
0 a 21 B ( I D 1 A) a 22 a n1 a nn a12 a11 0 an2 a nn a1n a11 a2n a 22 0
10/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
( ( ( 取初始向量 x (0) ( x10) , x20) , x30) )T (0,0,0)T
进行迭代, 可以逐步得出一个近似解的序列:
( ( ( ( x1 k ) , x2k ) , x3k ) ) (k=1, 2, …)
对于给定的方程组可以构造各种迭代公式。
并非全部收敛 。
8/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
§6.2 几种常用的迭代格式 雅可比(Jacobi)迭代格式
例6.2.1 建立迭代格式求解方程组
8 x1 3 x 2 2 x3 20 4 x1 11x 2 x3 33 6 x 3 x 12x 36 2 3 1
a
j 1
12/68
n
ij
x j bi
i 1,2,, n
郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
若aii 0 (i 1,2,, n) ,分离出变量 x i
a13 a1n a12 b1 x2 x3 xn x1 a11 a11 a11 a11 a 23 a2n b2 x a 21 x x3 xn 2 1 a 22 a 22 a 22 a 22 a3n b3 x a31 x a32 x xn 1 2 3 a33 a33 a33 a33 a n ,n 1 a n1 an 2 bn x n a x1 a x 2 a x n 1 a nn nn nn nn
要求的方程组的近似解。
6/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
设 A R
nn
b R n ,则线性方程组 非奇异,
x A 1b,经过变换构造 Ax b 有惟一解
出一个等价同解方程组 x Gx d 将上式改写成迭代式
x
§6.2 几种常用的迭代格式
function X=jacobi(A,B,P,delta,max)
(Jacobi迭代公式)
%求解AX=B,A是非奇N阶方阵dleta是误差界,max是最大迭代次数 N=length(B); for t=1:max for k=1:N X(k)=(B(k)-A(k,[1:k-1,k+1:N])*P([1:k-1,k+1:N]))/A(k,k); end err=abs(norm(X'-P));
(3)如何进行误差估计?
5/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
§6.1 引言
迭代法的基本思想
迭代法的基本思想是将线性方程组转化
为便于迭代的等价方程组,对任选一组初始
值 xi(0) (i 1,2,, n) ,按某种计算规则,不断地
对所得到的值进行修正,最终获得满足精度
如果向量序列
存在极限
x
*
x
(k )
x
(k ) 1
,x
(k ) 2
,, x
(k ) T n
x , x ,, x
* 1 * 2
* n
T
则称迭代法是收敛的,否则就是发散的。
收敛时,在迭代公式
( k 1)
x
Gx
(k )
d
(k 0,1,)
中当 k 时,( k ) x * , 则 x * Gx* d x x * 是方程组 Ax b 的解。 故
if(err<delta)
end X=X';
20/68
break; end
郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
§6.2 几种常用的迭代格式
高斯-塞德尔(Gauss-Seidel)迭代法 在Jacobi迭代法中,每次迭代只用到前一次的迭代值,若每 次迭代充分利用当前最新的迭代值,即在求 xi( k 1) 时用新分
郑州大学研究生课程 (2011-2012学年第一学期)
数值分析 Numerical Analysis
10
第六章 解线性代数方程组的迭代法
5 0 -10 -5 0 5 10 -10 -5
5
0
第六章 解线性代数方程组的迭代法
§6.1 §6.2 §6.3 §6.4 §6.5 引言 几种常用的迭代格式 迭代法的收敛性及误差估计 判别收敛的几个常用条件 迭代法收敛判定的应用举例
( k 1)
Gx
(0)
(k )
d
(0) 1 (0) 2
(k 0,1,)
(0) T n
选定初始向量 x x , x ,, x
,反复不断
地使用迭代式逐步逼近方程组的精确解,直 到满足精度要求为止。这种方法称为迭代法
7/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
( ( k ( ( k 量 x1 k 1) , x2k 1) ,, xi(1 1) 代替旧分量 x1 k ) , x2k ) ,, xi(1)
( ( ( x1( k 1) b12 x2k ) b13 x3k ) b1n xnk ) g1 ( k 1) ( ( x2 b21 x1( k 1) b23 x3k ) b2 n xnk ) g 2 ( k 1) ( k 1) ( k 1) ( b3n xnk ) g 3 x3 b31 x1 b32 x2 ( k 1) ( ( xn bn1 x1( k 1) bn 2 x2k 1) bn,n 1 xnk 11) gn
0 0 a12 a13 a1n a a11 0 0 a 23 a 2 n 21 a 22 A a31 a32 0 0 a n1n a nn a n1 a n 2 a nn 1 0 0
j 1 j i
n
i 1,2,, n
max x i y i ?
1 i n
y
k+1k yi xi i =1,2,…,n
n
n k=M? y 输出迭代 失败标志 输出 y1, y2,… yn
郑州大学研究生2011-2012学年课程 数值分析 Numerical A源自文库alysis
上式称为解方程组的Jacobi迭代公式。
也称为 简单迭代法。
15/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
雅可比迭代法的矩阵表示
设方程组 Ax b 的系数矩阵A非奇异,且主对 角元素 aii 0(i 1,2,, n) ,则可将A分裂成
称为雅可比迭代公式, B称为雅可比迭代矩阵 其中
18/68
郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
输入 aij,bi,和 方程阶数 n,ε ,M
1k
雅 可 比 迭 代 法 的 算 法 实 现
19/68
(bi aij x j ) / aii yi
(k=0,1,2,…)
14/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
§6.2 几种常用的迭代格式 据此建立迭代公式
(Jacobi迭代公式)
x
( k 1) i
1 (k ) (bi aij x j ) aii j 1
j i
n
i 1,2, n
当A为稀疏矩阵时,直接法将破坏矩阵A的稀疏性。
4/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
§6.1 引言
迭代法适用于解大型稀疏方程组 (万阶以上的方程组,系数矩阵中零元素占很大 比例,而非零元按某种模式分布)
问题: (1)如何构造迭代格式?
(2)迭代格式是否收敛?
方程组的精确解x*= (3, 2, 1)T。
9/68 郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis
§6.2 几种常用的迭代格式 建立迭代公式
3 (k ) 1 (k ) 5 ( k 1) x1 x 2 x3 8 4 2 4 (k ) 1 (k ) ( k 1) x1 x3 3 x2 11 11 1 (k ) 1 (k ) ( k 1) x1 x 2 3 x3 2 4