高斯-塞德尔(Gauss-Seidel)迭代法
- 格式:pptx
- 大小:4.27 MB
- 文档页数:6


第二章 解线性代数方程组的迭代法
2. 1 引言
在许多实际问题中,常常需要求解这样的线性代数方程组,它的系数矩阵数 很高,但非零元素很少,人们称其为大型稀疏线性代数方程组,对于这类方程组, 如果它乂不具有带状性,那么,再用直接法求解就不太有效,因为用直接法进行消 元或矩阵的三角分解时,没有考虑到系数矩阵的稀疏性,破坏了系数矩阵的形状, 导致了计算量的增加和存储单元的浪费,于是,人们常用迭代法求解大型稀疏线性 代数方程组。迭代法只需要存储系数矩阵的非零元素,这样,占用内存在单元较 少,能解高阶线性代数方程组。山于迭代法是通过逐次迭代来逼近方程组的解,因 此,收敛性和收敛速度是构造迭代法时要注意的问题。那么,是否可以构造一种适 用于一般情况的迭代法呢?回答是否定的,这是因为不同的系数矩阵具有不同的性 态,一般地,每一种迭代法都具有一定的适用范围,在本章的学习中将会看到,有
时,某种方法对一类方程组迭代收敛,而对另一类方程组进行迭代时就会发散。因 此,我们应该学会针对具有不同性质的线性代数方程组,构造合适的迭代方法。
本章主要介绍一些基本的迭代法,并在一定的范围内讨论其中儿种方法的收 敛法。
2. 2 基本迭代法
考虑线性方程组
如坷+如勺+…+气兀”二勺
a2txi+a22x2 + - + a2„xn =b2 ■ • • • • • • • • • • •
(2. 1)
采用矩阵和向量记号,我们可以把(2.1)式写成0
Ax = h
(2.2)
其中,
为非奇异矩阵,设
下面我们介绍雅可比(Jacobi)迭代,高斯-塞德尔(Gauss-Seidel)迭代与
S0R迭代以及SS0R迭代的基本思想和算法。为了方便地给出矩阵表示式,我们引 进下列矩阵分裂:
4SD-U,
(2.3)
其中
-a2\
-an\
(1) 雅可比迭代的基本思想
从式(2.1)的第i个方程中解出Xt =(/ = 1,2,•••,«)
function [x,k] = Gau_Seid(A,b,ep,it_max)
%%[x,k] = Gau-Seid(A,b,ep,it_max)
if nargin < 4 it_max = 100;end
if nargin < 3 ep = 1e-5;end
if min(abs(diag(A))) < 1e-10
error;
end
n = length (b);x=zeros(n,1);k=1;
B = -tril(A)\tril(A,1);f=tril(A)\b;
while k < it_max
y=B*x+f;
if norm(y - x,inf) < ep break; end
x=y;k=k+1;
end
求解习题二6的代码为:
A=[10,-2,-2;-2,10,-1;-1,-2,3];b=[1;0.5;1];[x,k]=Gau_Seid(A,b)
运行结果为:
A=[10,-2,-2;-2,10,-1;-1,-2,3];b=[1;0.5;1];[x,k]=Gau_Seid(A,b)
x =
27.1132
-6.0425
5.3427
k =
100
第31卷 2011矩 第6期 11月 高师理科学刊 Journal ofScience ofTeachers CoHege and University V01.31 No.6 NOV. 201l
文章编号:1007—983 1(201 1)06—0026—03
基于Gauss—Seidel迭代格式的新迭代法
敬久旺
(西藏农牧学院公共教学部,西藏林芝860000)
摘要:对于线性方程组的数值解给出了一个基于G—S迭代格式的新的迭代格式,分析了该格式在 系数矩阵特殊情况下的收敛性.最后,针对系数矩阵是正定的情况,给出了一种新的迭代格式, 并证明了其收敛性. 关键词:迭代法;线性方程组;正定矩阵
中图分类号:0241.7 文献标识码:A doi:10.3969/j.issn.1007—9831.2011.06.009
A new iterative method based OH Gauss—Seidel iterative
JING Jiu-wang
(Department ofPublic Teaching,Tibet Agricultural and Animal Husbandry College,Nyingchi 860000,China)
.AJ ̄tract:Based on G-S,gave a new iterative scheme to the solution of linear equation,analyzed the convergence of
the new iterative scheme under the special condition of coefficient matrix.Finally,presented a new iterative scheme
for the case that the coefficient matrix is positive definite,and prove the convergence.
Matlab 数值分析 Gauss_Seidel高斯赛德尔迭代法
%* Gauss_Seidel迭代法求解线性方程组-----------------------------------------
%* 输入方程组、预处理-------------------------------------------------------
A=[5,2,1;-1,4,2;2,-3,10]; %A矩阵
b=[-12;20;3]; %列向量b
x1=[-3;1;1]; %初始x1
eps=1e-3; % 精度要求
%* 开始迭代求解------------------------------------------------------------
max=1000; % 最大迭代次数
n=length(A); % 系数矩阵A的维数
k=0;
while 1
x=x1; %保存每次的x1,用于判定精度
%* 先计算X1(1),与Jacobi迭代法计算一致
x1(1)=( b(1)-A(1,2:n)*x1(2:n,1) )/A(1,1);
%* 再计算X1(i),i=2,3,...,n-1
for i=2:n-1
x1(i)=( b(i)-A(i,1:i-1)*x1(1:i-1,1)-A(i,i+1:n)*x1(i+1:n,1) )/A(i,i);
end
%* 最后计算X1(n)
x1(n)=( b(n)-A(n,1:n-1)*x1(1:n-1,1) )/A(n,n);
k=k+1;
%* 计算前后迭代解X1的误差