解线性方程组的列主元素高斯消去法和LU分解法实验报告

上传人:折*** 文档编号:292040680 上传时间:2022-05-13 格式:DOCX 页数:4 大小:16.65KB
返回 下载 相关 举报
解线性方程组的列主元素高斯消去法和LU分解法实验报告_第1页
第1页 / 共4页
解线性方程组的列主元素高斯消去法和LU分解法实验报告_第2页
第2页 / 共4页
解线性方程组的列主元素高斯消去法和LU分解法实验报告_第3页
第3页 / 共4页
解线性方程组的列主元素高斯消去法和LU分解法实验报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《解线性方程组的列主元素高斯消去法和LU分解法实验报告》由会员分享,可在线阅读,更多相关《解线性方程组的列主元素高斯消去法和LU分解法实验报告(4页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑解线性方程组的列主元素高斯消去法和LU分解法实验报告 解线性方程组的列主元素高斯消去法和LU分解法 一、测验目的:通过数值测验,从中体会解线性方程组选主元的必要性和LU分解法的优点,以及方程组系数矩阵和右端向量的微小变化对解向量的影响。 二、测验内容:解以下两个线性方程组 ?3.01?(1)?1.27?0.987?1.99?x1?1?4.16?1.23?x2?1? ?4.819.34?x3?1?6.03?7?10?32.099999(2)?5?1?21?1?x1?8?62?x2?5.900001? ?5?1x35?02?x4?1?0三、测验要求: (1) 用

2、你熟谙的算法语言编写程序用列主元高斯消去法和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,即可求出上述

3、各个方程组的解,并与列主元高斯消去法和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

4、(请留神:由于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)*

5、X(q+1:n)/A(q,q); end else disp(请留神:由于RA=RBA=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;

6、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 4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号