实验解线性方程组的基本迭代法实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值分析实验报告

0 a 12

K a

1,n 1

K a

2,n 1

U

O

M

则有:

第一步: Jacobi 迭代法

a

1n a

2n

M , 则有: A D L U

a

n 1,n

Ax b

A A x D b L U

(D L U)x b Dx (L U)x b x D (L U)x D b

J D (L U)

则称 J 为雅克比迭代矩阵

f D b

由此可得雅克比迭代的迭代格式如下:

x (0) , 初始向量

x (k 1)

Jx (k)

f ,k 0,1,2,L

第二步

Gauss-Seidel 迭代法

Ax b

(D L U )x b (D L)x Ux b x (D L) Ux (D L) b A D L U

a 11

a

12 L

a

1n a

11

A

a 21

a 22 L

a

2n

a

22

M MM

MO

a

n1

a n2 L

a

nn

a

11

得到 D

a

22

O

a

nn

a 21 0

M

M

O

a

n 1,1 a

n 1,2

L 0

a

nn

a n1

a

n2

L

a n,n

a

21

L

M

M

O

a

n 1,1 a

n 1,2

L

a

n1

a

n2

L

a

n,n 1

a

12

K a

1,n 1 a

1n

0 K

a 2,n 1

a

2n

O

M M

a

n 1,n

10

G (D L) U

,则称G

为Gauss-Seidel 迭代矩阵 f (D L) b

由此可得 Gauss-Seidel 迭代的迭代格式如下:

x (0) ,

初始向量

第三步

SOR 迭代法

w0

AD

L

U

1

(

D

1 wL ((1 w)D wU ))

(D 1

wL)

((1 w)D wU )

w

w

w

令M

w

1

(D wL), N

1

((1 w)D wU )则有:A

MN

w

w

Ax b

AM

L

W

N

M (M N )x b Mx Nx b x M

Nx M b

N

M,

令W

f Mb

带入 N 的值可有

L W ((1 w)D wU)

(D wL) 1((1 w)D wU) (D wL)

f 1

b

w 1(D wL) 1b

1

(D wL) w

称 L W 为 SOR 迭代矩阵,由此可得 SOR 迭代的迭代格式如下:

x

(0) ,初始向量

二、算法程序

Jacobi 迭代法的 M 文件: function [y,n]=Jacobi(A,b,x0,eps) %*************************************************

%函数名称 Jacobi 雅克比迭代函数 %参数解释 A

系数矩阵 % b

常数项 %

x0

估计解向量

x

(k 1)

Gx (k) f ,k 0,1,2,L

(k 1)

f,k 0,1,2,L

误差范围

%eps

%返回值

解向量

%y

迭代次数

%n

%函数功能实现线性方程组的Jacobi 迭代求解%*************************************************

n=length(A);

if nargin<3

error(' 输入错误,最少要输入三个参数'); return;

end

if nargin==3

eps=1e-6;

end

D=diag(diag(A));

L=-tril(A,-1);

U=-triu(A,1);

M=D;

N=L+U;

B=M\N;

f=M\b;

if max(abs(eig(B)))>=1

disp(' 谱半径大于等于1,迭代不收敛,无法进行'); return;

相关文档
最新文档