解线性方程组基本迭代法实验(ca)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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