- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实 验 报 告
课程名称
数值分析
实验项目名称
解线性方程组
实验类型
上机
实验学时
4
班级学号
2011113130
姓名
张振
指导教师
沈艳
实验室名称
理学楼407
实验时间
2013.12.9
实验成绩
预习部分
实验过程
表现
实验报告
部分
总成绩
教师签字
日期
哈尔滨工程大学教务处 制
实验四 解线性方程组
一.解线性方程组的基本思想
1.直接三角分解法:
将系数矩阵A转变成等价两个矩阵L和U的乘积 ,其中L和U分别是下三角和上三角矩阵。当A的所有顺序主子式都不为0时,矩阵A可以分解为A=LU,且分解唯一。其中L是单位下三角矩阵,U是上三角矩阵。
2.平方根法:
如果矩阵A为n阶对称正定矩阵,则存在一个对角元素为正数的下三角实矩阵L,使得:A=LL^T。当限定L的对角元素为正时,这种分解是唯一的,称为平方根法(Cholesky)分解。
3.追赶法:
设系数矩阵为三对角矩阵
则方程组Ax=f称为三对角方程组。
设矩阵A非奇异,A有Crout分解A=LU,其中L为下三角矩阵,U为单位上三角矩阵,记
可先依次求出L,U中的元素后,令Ux=y,先求解下三角方程组Ly=f得出y,再求解上三角方程组Ux=y。
4.雅克比迭代法:
首先将方程组中的系数矩阵A分解成三部分,即:A = L+D+U,如图1所示,其中D为对角阵,L为下三角矩阵,U为上三角矩阵。
之后确定迭代格式,X = BX +f ,如图2所示,其中B称为迭代矩阵,雅克比迭代法中一般记为J。(k = 0,1,......)再选取初始迭代向量X,开始逐次迭代。
5.超松弛迭代法(SOR)
它是在GS法基础上为提高收敛速度,采用加权平均而得到的新算法。
选取分裂矩阵M为带参数的下三角矩阵
M=(D-),
其中>0 为可选择的松弛因子,一般当12时称为超松弛。
二.实验题目及实验目的
1.(第五章习题8)用直接三角分解(杜利特尔(Doolittle)分解)求线性方程组
+ += 9,
+ += 8,
+ += 8
的解。
2.(第五章习题9)用追赶法解三对角方程组Ax=b,其中
A=,b=.
3.(第五章习题10)用改进的平方根法解线性方程组
=
4.(第六章习题7)用SOR方法解线性方程组(分别取松弛因子ω=1.03,ω=1,ω=1.1)
4 - = 1,
- +4- = 4,
- +4= -3.
精确解x=(,1,-).要求当5×10时迭代终止,并且对每一个ω值确定迭代次数.
5.(第六章习题8)用SOR方法解线性方程组(取ω=0.9)
5 -2+ = -12,
- +4- 2= 20,
2 -3+10= 3.
要求当10时迭代终止.
6.(第六章习题9)设有线性方程组Ax=b,其中A为对称正定阵,迭代公式
+ω(b- A),k=0,1,2…,
试证明当0ω时上述迭代法收敛(其中0(A)).
7.(第六章计算实习题1)给出线性方程组Hx=b,其中系数矩阵H为希尔伯特矩阵:
Hx=(h)R, h=,i,j=1,2,…,n.
假设x=(1,1,…,1)R,b= Hx.若取n=6,8,10,分别雅克比迭代法及SOR迭代(ω=1,1.25,1.5)求解.比较计算结果.
三.实验手段:
指操作环境和平台:win7系统下MATLAB R2009a
程序语言:一种类似C语言的程序语言,但比C语言要宽松得多,非常方便。
四.程序
1.
= 1 \* GB3 ①直接三角分解(文件ZJsanjiao.m)
function x=ZJsanjiao(A,b)
[m,n]=size(A);
[l u]=lu(A);
s=inv(l)*[A,b];
x=ones(m,1);
for i=m:-1:1
h=s(i,m+1);
for j=m:-1:1;
if j~=i
h=h-x(j)*s(i,j);
end
end
x(i)=h/s(i,i);
end
= 2 \* GB3 ②控制台输入代码:
A=[1/4,1/5,1/6;1/3,1/4,1/5;1/2,1,2];
b=[9;8;8];
x=ZJsanjiao(A,b)
2.
= 1 \* GB3 ①追赶法(文件ZG_SDJ.m)
function x=ZG_SDJ(a,b,c,f)
%aê????????a??
%bê???????é?·?μ??a??£???êy±èaéùò???
%cê?????????·?μ??a??£???êy±èaéùò???
%fê?3£êy??b
N=length(a);
b=[b,0];
c=[0,c];
a1=zero
文档评论(0)