解线性方程组基本迭代法实验(ca)

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

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

【实验目的和要求】

1.使学生深入理解Jacobi 迭代法、Gauss-Seidel 迭代法和SOR 迭代法;

2.通过对Jacobi 迭代法、Gauss-Seidel 迭代法和SOR 迭代法的程序设计,以提高学生程序设计的能力;

3.应用编写的程序解决具体问题,掌握三种基本迭代法的使用,通过结果的分析了解每一种迭代法的特点。 【实验内容】

1.根据Matlab 语言特点,描述Jacobi 迭代法、Gauss-Seidel 迭代法和SOR 迭代法。 2.编写Jacobi 迭代法、Gauss-Seidel 迭代法和SOR 迭代法的M 文件。

3.给定2020⨯∈R A 为五对角矩阵

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

⎡----

--------

------

32

141213214

141213214141213214

141213

2141213 (1)选取不同的初始向量)0(x 及右端面项向量b ,给定迭代误差要求,分别用编写Jacobi 迭代

法和Gauss-Seidel 迭代法程序求解,观察得到的序列是否收敛?若收敛,通过迭代次数分析

计算结果并得出你的结论。

(2)用编写的SOR 迭代法程序,对于(1)所选取的初始向量)

0(x 及右端面项向量b 进行求解,松驰系数ω取1<ω<2的不同值,在5

)1()(10-+≤-k k x x 时停止迭代,通过迭代次数分析计算结果

并得出你的结论。

【实验仪器与软件】

1.CPU 主频在1GHz 以上,内存在128Mb 以上的PC ;

2.Matlab 6.0及以上版本。 实验讲评:

实验成绩:

评阅教师:

年 月 日

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

一、算法描述

12

1,111112111

212,1

221

22222

1,11,21,1

2

12

,1

000000

00n n n n n n n n n n n n nn nn n n n n a a a a a a a a a a a a a a A a a a a a a a a

a a ---------⎛⎫⎛⎫

⎛⎫⎛⎫

⎪--- ⎪ ⎪ ⎪

⎪ ⎪ ⎪==-- ⎪ ⎪

⎪ ⎪--- ⎪ ⎪ ⎪ ⎪⎝⎭⎝

⎭ ⎪ ⎪---⎝

得到1122

nn a a D a ⎛⎫

⎪= ⎪ ⎪⎝

211,11,212,10000n n n n n n a L a a a

a a ---⎛⎫

⎪- ⎪

⎪=

⎪-- ⎪ ⎪---⎝

121,112,1

21,000

0n n n n n n a a a a a U a ------⎛⎫

⎪--

⎪= ⎪- ⎪ ⎪⎝⎭

则有:A D L U =--

第一步 Jacobi 迭代法

()()\()\Ax b D L U x b Dx L U x b x D L U x D b A D L U =⎫

⇒--=⇒=++⇒=++⎬=--⎭

令\()\J D L U f D b =+⎧⎨=⎩则称J 为雅克比迭代矩阵 由此可得雅克比迭代的迭代格式如下:

(0)(1)

(),,0,1,2,k k x x

Jx f k +⎧⎪⎨=+=⎪

⎩初始向量

第二步

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 =⎫

⇒--=⇒-=+⇒=-+-⎬=--⎭

令()\()\G D L U f D L b =-⎧⎨=-⎩,则称G 为Gauss-Seidel 迭代矩阵

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

(0)(1)

(),,0,1,2,k k x x

Gx f k +⎧⎪⎨=+=⎪

⎩初始向量

第三步 SOR 迭代法

111

(((1)))()((1))w A D L U D wL w D wU D wL w D wU w w w

≠=--=

----=---- 令1()M D wL w =

-,1

((1))N w D wU w

=--则有:A M N =- ()\\Ax b M N x b Mx Nx b x M Nx M b A M N =⎫

⇒-=⇒=+⇒=+⎬=-⎭

令\\W L M N f M b

=⎧⎨=⎩带入,M N 的值可有

1

11

((1))()((1))()()1

()

W w D wU L D wL w D wU D wL b f w D wL b D wL w -----⎧==---⎪-⎪

⎨==-⎪⎪-⎩

称W L 为SOR 迭代矩阵

由此可得SOR 迭代的迭代格式如下:

(0)

(1)

(),,0,1,2,k k W x x

L x f k +⎧⎪⎨=+=⎪

⎩初始向量

二、算法程序

Jacobi 迭代法的M 文件:

function [y,n]=Jacobi(A,b,x0,eps)

%************************************************* %函数名称 Jacobi 雅克比迭代函数 %参数解释 A 系数矩阵 % b 常数项 % x0 估计解向量 % eps 误差范围 %返回值

% y 解向量 % n 迭代次数

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

n=length(A); if nargin<3

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

相关文档
最新文档