数值计算方法lu分解法实验

数值计算方法lu分解法实验

ID:13041439

大小:38.50 KB

页数:5页

时间:2018-07-20

数值计算方法lu分解法实验_第1页
数值计算方法lu分解法实验_第2页
数值计算方法lu分解法实验_第3页
数值计算方法lu分解法实验_第4页
数值计算方法lu分解法实验_第5页
资源描述:

《数值计算方法lu分解法实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、LU分解求解线性方程组【实验目的】1、实现LU算法,并利用该算法求解线性方程组【实验内容】1.编写LU分解法程序LU_Decom.m,调用该程序,求解方程组的根。【算法流程说明】一、LU分解,得到L矩阵与U矩阵的值二、回代过程求y值三、回代过程求x值【C语言算法】//LU分解,得到L矩阵与U矩阵的值For(r=2;r<=n;r++){//计算U的第r行各元素的值For(j=r;j<=n;j++){For(k=1;k<=r-1;k++){a(r,j)=a(r,j)-L(r,k)*U(k,j);}U(

2、r,j)=a(r,j);}//计算L的第r列各元素的值For(i=r+1;r<=n;r++){For(k=1;k<=r-1;k++){a(i,r)=a(i,r)-L(i,k)*U(k,r);}L(i,r)=a(i,r)/U(r,r);}}//回代求y值y(1)=b(1);For(k=2;k<=n;k++){For(j=1;j<=k-1;j++){b(k)=b(k)-y(j)*L(k,j);}y(k)=b(k);}//回代求x值x(n)=y(n)/U(n,n);For(k=n-1;k>=1;k--)

3、{For(j=n;j>=k+1;j++){b(k)=b(k)-y(j)*L(k,j);}x(k)=b(k)/U(k,k);}【实验要求】请同学们参考上次实验的gauss_original.m文件,复习Matlab程序的格式和语法,对照给大家的C语言算法写出LU分解方法解多元一次线性方程组的程序,并调用该程序计算出方程组的解。本次实验要求写实现代码。实验报告请写明【实验目的】、【实验内容】、【源代码及注释】和【实验心得】function[L,U,x,y]=LU_Decom(A,b)%求矩阵A的LU分

4、解,其中%A为要分解的矩阵;L为单位下三角矩阵;U为上三角矩阵;flag为指标变量,=1时表示计算成功,=0表示计算失败[n,m]=size(A);nb=length(b);ifn~=merror('TherowsandcolumnsofmatrixAmustbeequal!');return;endifn~=nberror('ThecolumnsofAmustequalthelengthofb!');endL=eye(n);U=zeros(n);y=zeros(n,1);x=zeros(n,1)

5、;%LU分解forj=1:nU(1,j)=A(1,j);L(j,1)=A(j,1)/U(1,1);endforr=2:nforj=r:nfork=1:r-1A(r,j)=A(r,j)-L(r,k)*U(k,j);endU(r,j)=A(r,j);endfori=r+1:nfork=1:r-1A(i,r)=A(i,r)-L(i,k)*U(k,r);endL(i,r)=A(i,r)/U(r,r);endend%由下三角矩阵L得到变量y的解y(1)=b(1);fori=2:nforj=1:i-1b(i)

6、=b(i)-L(i,j)*y(j);endy(i)=b(i);end%由上三角矩阵U得到变量x的解x(n)=y(n)/U(n,n);fori=n-1:-1:1x(i)=y(i);forj=i+1:nx(i)=x(i)-U(i,j)*x(j);endx(i)=x(i)/U(i,i);end

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。