- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解线性方程组的列主元素高斯消去法和LU分解法实验报告
解线性方程组的列主元素高斯消去法和LU分解法
一、实验目的:通过数值实验,从中体会解线性方程组选主元的必要性和LU分解法的优点,以及方程组系数矩阵和右端向量的微小变化对解向量的影响。
二、实验内容:解下列两个线性方程组
(1)
(2)
三、实验要求:
(1) 用你熟悉的算法语言编写程序用列主元高斯消去法和LU分解求解上述两个方程组,输出Ax=b中矩阵A及向量b, A=LU分解的L及U,detA及解向量x.
(2) 将方程组(1)中系数3.01改为3.00,0.987改为0.990,用列主元高斯消去法求解变换后的方程组,输出列主元行交换次序,解向量x及detA,并与(1)中结果比较。
(3) 将方程组(2)中的2.099999改为2.1,5.900001改为5.9,用列主元高斯消去法求解变换后的方程组,输出解向量x及detA,并与(1)中的结果比较。
(4)用MATLAB的内部函数inv求出系数矩阵的逆矩阵,再输入命令x=inv(A)*b,即可求出上述各个方程组的解,并与列主元高斯消去法和LU分解法求出的解进行比较,体会选主元的方法具有良好的数值稳定性。用MATLAB的内部函数det求出系数行列式的值,并与(1)、(2)、(3)中输出的系数行列式的值进行比较。
四、实验过程:
(1)列主元高斯消去法的主程序为
function [RA,RB,n,X]=liezhuY(A,b)
B=[A b]; n=length(b); RA=rank(A);
RB=rank(B);zhica=RB-RA;
D=det(A)
if zhica0,
disp(请注意:因为RA~=RB,所以此方程组无解.)
return
end
if RA==RB
if RA==n
disp(请注意:因为RA=RB=n,所以此方程组有唯一解.)
X=zeros(n,1); C=zeros(1,n+1);
for p= 1:n-1
[Y,j]=max(abs(B(p:n,p))); C=B(p,:);
B(p,:)= B(j+p-1,:); B(j+p-1,:)=C;
for k=p+1:n
m= B(k,p)/ B(p,p);
B(k,p:n+1)= B(k,p:n+1)-m* B(p,p:n+1);
end
end
b=B(1:n,n+1);A=B(1:n,1:n); X(n)=b(n)/A(n,n);
for q=n-1:-1:1
X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q);
end
else
disp(请注意:因为RA=RBn,所以此方程组有无穷多解.)
end
end
解方程组(1)
在MATLAB工作窗口输入
A=[3.01 6.03 1.999;1.27 4.16 -1.23;0.987 -4.81 9.34];b=[1;1;1];[RA,RB,n,X]=liezhuY(A,b)
运行后输出结果为
请注意:因为RA=RB=n,所以此方程组有唯一解.
D=-0.1225
RA =3 RB =3 n =3
X = 397.8654
-157.6242
-123.1120
解方程组(2)
在MATLAB工作窗口输入
A=[10 -7 0 1;-3 2.099999 6 2;5 -1 5 -1;2 1 0 2];b=[8;5.900001;5;1];[RA,RB,n,X]=liezhu(A,b)
运行后输出结果为
请注意:因为RA=RB=n,所以此方程组有唯一解.
D=-762.0000
RA =4 RB =4 n =4
X =0.0000
-1.0000
1.0000
1.0000
LU分解法及MATLAB主程序为
function hl=zhjLU(A)
[n n] =size(A); RA=rank(A);
D=det(A)
if RA~=n
disp(请注意:因为A的n阶行列式hl等于零,所以A不能进行LU分解.A的秩RA如下:), RA,hl=det(A);
return
end
if RA==n
for p=1:n
h(p)=det(A(1:p, 1:p));
end
hl=h(1:n);
for i=1:n
if h(1,i)==0
disp(请注意:因为A的r阶主子式等于零,所以A不能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:), hl;RA
return
end
end
if h(1,i)~=0
disp(请注
您可能关注的文档
- 西南大学育才学院传播学复习专题教学.doc
- 西南政法大学学科建设管理办法.doc
- 西南大学细胞工程重点.doc
- 西南政法考研法理学内部资料–判断分析题简答题论述题材料分析题整理.doc
- 西南石油大学论文格式模板.doc
- 西南科技大学网络学院程序设计语言VB试卷.doc
- 西南航空案例题.doc
- 西周东周与春秋战国的关系.doc
- 西安交大C++程序设计第五章作业.doc
- 西安交通大学14春学期《政治经济学》.doc
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)