雅可比迭代法和赛德尔迭代法解线性方程组

  • 格式: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
aaaL

时,有


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
姓名:陈梦静