雅可比迭代法和赛德尔迭代法解线性方程组
- 格式:doc
- 大小:66.50 KB
- 文档页数:6
雅可比迭代法和赛德尔迭代法解线性方程组
一、题目:分别用雅可比迭代法和赛德尔迭代法求解线性方程组
=Axb
,其中
8111151,b=16,1147A
取初始向量(0)=(0,0,0)Tx,精确到-310。
二、基本原理:
1、雅可比迭代法基本原理
将矩阵分解为,其中
121311121232222121-1,2121210000, ,0000n
n
nn
nn
aaa
a
a
aa
a
DLUaaaaaaa
L
L
O
LM
O
MMM
O
L
则式=Axb可记为=DLUxb,变形可得=+DxLUxb,D可逆
11220nn
aaaL
时,有
11=D+xLUxDb
于是得到迭代的过程为
=+xBxf
式中,11D,=DBLUfb,即
=11=+=1,2,,niiijjj
ii
jixbaxina
L
2、赛德尔迭代法基本原理
赛德尔迭代法是对雅可比迭代法的一种改进,雅可比迭代法是在
每一步计算+1kx的各个分量时均只用到kx中的分量。实际上,在计
算+1kix时,分量+1+1-1,,kkiixxL都已经计算出来而没有被直接利用,因此
可以考虑以+1+1-1,,kkiixxL来代替1-1,,kkixxL计算。即
-1+1+1=1=+1=--+/,=1,2,,in
kkk
iijjijjiii
jji
xaxaxbain
L
矩阵形式为+1+1=+L+UkkkDxbxx,可得
11+1=kkxDLUxDLb
,于是赛德尔迭代法的矩阵形式为
+1=kk
xGxf
式中,11,GDLUfDLb。
三、程序
1、雅可比迭代
Fjacobi.m
function [x,k]=Fjacobi(A,b,x0,eps)
D=diag(diag(A));%提取对角矩阵
L=-tril(A,-1);%提取下三角矩阵
U=-triu(A,1);%提取上三角矩阵
B=D\(L+U);
f=D\b;
x=B*x0+f;%雅可比迭代格式
k=1;
while norm(x-x0)>=eps
x0=x;
x=B*x0+f;
k=k+1;
End
jacobi.m
A=[-8,1,1;1,-5,1;1,1,-4];
b=[1,16,7]';
x0=[0,0,0]';
[x,k]=Fjacobi(A,b,x0,0.001)
2、赛德尔迭代
Fgseid.m
function[x,k]=Fgseid(A,b,x0,eps)
D=diag(diag(A));%提取对角矩阵
L=-tril(A,-1);%提取下三角矩阵
U=-triu(A,1);%提取上三角矩阵
G=(D-L)\U;
f=(D-L)\b;
x=G*x0+f;%赛德尔迭代格式
k=1;
while norm(x-x0)>=eps
x0=x;
x=G*x0+f;
k=k+1;
End
gseid.m
a=[-8,1,1;1,-5,1;1,1,-4];
b=[1,16,7]';
x0=[0,0,0]';
[x,k]=Fgseid(a,b,x0,0.001)
四、结果分析
1、雅可比迭代
x =
-0.9999
-3.9999
-2.9998
k =
10
2、赛德尔迭代
x =
-0.9999
-3.9999
-3.0000
k =
6
3、精确解
经过计算得到本题的精确解为:
=-1,-4,-3Tx
.
4、结果分析
①
-1,-4,-3--0.9999,-3.9999,-2.9998>-1,-4,-3--0.9999,-3.9999,-3.0000
TTTT
,
即赛德尔解出来的值更接近精确解;
② 赛德尔的迭代次数6小于雅可比的迭代次数10。
综上可得,赛德尔迭代法优于雅可比迭代法。
班级:应用数学1001
学号:101030101
姓名:陈梦静