收藏 分享(赏)

解线性方程组的列主元素高斯消去法和LU分解法.doc

上传人:gnk289057 文档编号:4874793 上传时间:2019-01-18 格式:DOC 页数:7 大小:189.05KB
下载 相关 举报
解线性方程组的列主元素高斯消去法和LU分解法.doc_第1页
第1页 / 共7页
解线性方程组的列主元素高斯消去法和LU分解法.doc_第2页
第2页 / 共7页
解线性方程组的列主元素高斯消去法和LU分解法.doc_第3页
第3页 / 共7页
解线性方程组的列主元素高斯消去法和LU分解法.doc_第4页
第4页 / 共7页
解线性方程组的列主元素高斯消去法和LU分解法.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、实验报告一、实验名称解线性方程组的列主元素高斯消去法和 LU 分解法二、实验目的及要求通过数值实验,用熟悉的算法语言编写程序,从中体会解线性方程组选主元素的必要性和 Lu 分解法的优点,以及方程组系数矩阵和右端向量的微小变化对解向量的影响。三、实验内容解下列两个线性方程组(1)1233.0692741-.98x(2)1234083.65.901515x 四、算法描述1、列主元高斯消去法:记 ( )(1)ijija,12,ijn ( )()iib (1)消元过程对于 R=1,2,n-1 执行:1)选行号 ,使ki()()amxkkiiin2)交换 与 (j=k,k+1,n)以及 与 所含的数值。

2、()kj()ki ()kb()i3)对于 i=k+1,k+2,,n 计算()()/kiimaj=k+1,k+2,n.(1)()()kijijij()(k)()kiiikbb(2)回代过程 ()n/nxba( )()()()1/,1,2,.kkkjjxan 在此算法中的 (k=1,2,,n-1)称为第 k 个列主元素,它的数值总要被交换到()aki第 k 个主对角线元素的位置上。2、LU 分解法通过 MATLAB 自有的函数把系数矩阵 A 分解成 A=LU,其中,L 是下三角矩阵,U是上三角矩阵。这时方程组 Axb 就可化为两个容易求解的三角形方程组Lyb, Uxy先由 Lyb 解出向量 y,再

3、由 Uxy 解出向量 x,这就是原方程组 Axb的解向量。五、程序流程图(1)列主元高斯消去法程序流程图如下:YN 开始读入矩阵A,b选主元ik=k ? 跳出循环列主元计算对 A 进行上三角变换回代求 x输出 x(2)LU 分解法程序流程图如下:YNYN这里我使用了四种框,一种是起止框 ,一种是输入输出框 ,一种是判断框 ,还有一种是处理框 。3、列主元素高斯消去法的 M 文件如下:function a=liezhuGS(A,b)r=length(A1,i)结束开始读入矩阵A求出值 y(1),y(2)i3 ? 求求 y 值求末值 x(n),x(n-1)j3 ?求 x 值结束输出 y输出 xfo

4、r i=1:rfor j=1:rif A(i,i)A(j,i)for k=i:rc=A(i:k);A(i,k)=A(j,k);A(j,k)=c;endd=b(i);b(i)=b(j);b(j)=d;end endfor l=(i+1):rp=A(l,l)/A(i,i);for m=i:rA(l,m)=A(l,m)-p*A(i,m);endb(l)=b(l)-p*b(i);endendAZ=det(A)bfor n=r:-1:1if n=rx(n)=b(n)/A(n,n);elsefor q=1:(r-n)b(n)=b(n)-x(x+q)*A(n,n+q);endx(n)=b(n)/A(n,n)

5、;end end x4、LU 分解法的 M 文件如下:Function a=Lufenjiefa(A,b)L,U=lu(A)Y=lbX=uyAbZ=det(l)*det(u)5、实验步骤如下:(1)A= ;b= ;分别在命令窗口中运行 LiezhuGs(A,b)和3.0169274-23.981Lufenjiefa(A,b);记录相关数据(2) A= ;b= ;分别在命令窗口中运1070132.962558.9015行 LiezhuGs(A,b)和 Lufenjiefa(A,b);记录相关数据(3)A= ;b= ;分别运行 LiezhuGs(A,b),记录列主行交换.06.31.912742.

6、9.8.次序 x,det(A) (4)A= ;b= ;运行 LiezhuGs(A,b),记录相关数据107132.6585.9(5)分别对上述 A,b 在命令窗口运行 x=inv(A)*b,y=det(A),记录数据。六、实验结果实验项目列主元高斯消去法 LU 分解法 Matlab 内部函数法(1)A=3.016.1.9-782465-0Tb3A=03547Tx1.926,.1,0.96L=10.429-.3817U=.690-7501A=-.35Tx10.926,.,.493631.5926x04A=det()-0.357(2) 10-72.51.5A=6329.07Tb81.35.92A=

7、760Tx 0-0.341L=296-.710-12.5-.U=69.782A-7.01Tx01x2A=-7.60(3) 3.061.9A=-783.052Tb1.6=0472.953x16.80 21.9573x0468A=-.71(4) 10-712.5.A=63.08Tb81.=762Tx0 Tx01A=-7.62七、实验结果分析解线性方程组有选主元的必要性。LU 分解法具有简洁、正确的优点,调用L,U内部函数使其解法简便,得出的系数距阵的行列式为精确值。实验(1)系数为 3.01 改为 3.00,0.978 改为 0.990,得出结果如上所示。实验( 1)中系数发生微小改变后,结果变化不大。用 Matlab 的内部函数 inv 计算得出的解向量 x=inv(A)*b,即为上述各方程组的解,与列主元素高斯消去法和 LU 分解法求出的解进行比较可知,它们都是等同的,这说明列主元素消去法具有良好的数值稳定性。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报