数值计算方法LU分解法实验.doc

上传人:枫** 文档编号:544790264 上传时间:2024-01-02 格式:DOC 页数:5 大小:38.51KB
返回 下载 相关 举报
数值计算方法LU分解法实验.doc_第1页
第1页 / 共5页
数值计算方法LU分解法实验.doc_第2页
第2页 / 共5页
数值计算方法LU分解法实验.doc_第3页
第3页 / 共5页
数值计算方法LU分解法实验.doc_第4页
第4页 / 共5页
数值计算方法LU分解法实验.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《数值计算方法LU分解法实验.doc》由会员分享,可在线阅读,更多相关《数值计算方法LU分解法实验.doc(5页珍藏版)》请在金锄头文库上搜索。

1、LU分解求解线性方程组【实验目的】、 实现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(r,j)=a(r,j);/计算L的第r列各元素的值For(i=r+1;r=n;r+)For(k=1;k=r-1;k+)a

2、(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=1;k-)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分解方法解多元一次线性方程组的程序,并调用该程序计算出方程组的解。本次实验要求写实现代码。实验报告请写明【实验目的】、【实验内容】、【源代码及注释】和【实验心得】

3、function L,U,x,y = LU_Decom( A,b )%求矩阵A的LU分解,其中%A为要分解的矩阵;L为单位下三角矩阵;U为上三角矩阵;flag为指标变量,=1时表示计算成功,=0表示计算失败n,m=size(A);nb=length(b);if n=m error(The rows and columns of matrix A must be equal!); return;endif n=nb error(The columns of A must equal the length of b!);endL=eye(n);U=zeros(n);y=zeros(n,1);x=z

4、eros(n,1);%LU分解for j=1:n U(1,j)=A(1,j); L(j,1)=A(j,1)/U(1,1);endfor r=2:n for j=r:n for k=1:r-1 A(r,j)=A(r,j)-L(r,k)*U(k,j); end U(r,j)=A(r,j); end for i=r+1:n for k=1:r-1 A(i,r)=A(i,r)-L(i,k)*U(k,r); end L(i,r)=A(i,r)/U(r,r); endend%由下三角矩阵L得到变量y的解y(1)=b(1);for i=2:n for j=1:i-1 b(i)=b(i)-L(i,j)*y(j); end y(i)=b(i);end%由上三角矩阵U得到变量x的解x(n)=y(n)/U(n,n);for i=n-1:-1:1 x(i)=y(i); for j=i+1:n x(i)=x(i)-U(i,j)*x(j); end x(i)=x(i)/U(i,i);end

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

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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