matlab lu解线性方程,MATLAB报告用LU分解法求解线性方程组.doc

MATLAB报告用LU分解法求解线性方程组

《MATLAB》期末大报告

报告内容:用LU分解法求解线性方程组

学院(系):

专 业:

班 级:

学 号:

学生姓名:

2014 年 6 月 23日

报告目的

学会用LU分解法解线性方程组,并且为了保证乘子的绝对值小于1,需要对主元数值很小的时候进行方程变换。

报告内容

1:测试基本线性方程:

可见程序运行结果正确。

2:测试主元有接近于0的线性方程:

可见程序运行结果正确。

3:测试矩阵维度大于5情况:

可见程序运行结果正确。

源程序

function X=LU1(A,B)

B=B';

A=[A';B]',n=length(B');

X=zeros(n,1);

y=zeros(n,1);

U=zeros(n);

L=eye(n);

for k=1:n

U(1,k)=A(1,k);

L(k,1)=A(k,1)/U(1,1);

end

for i=2:n

for k=i:n

lu=0;

lu1=0;

for j=1:i-1

lu=lu+L(i,j)*U(j,k);

lu1=lu1+L(k,j)*U(j,i);

end

U(i,k)=A(i,k)-lu;

L(k,i)=(A(k,i)-lu1)/U(i,i);

end

end

L

U

for i=1:n

ly=0;

for j=1:i

ly=ly+L(i,j)*y(j);

end

y(i)=B(i)-ly;

end

for i=n:-1:1

ly1=0;

for j=i+1:n

ly1=ly1+U(i,j)*X(j);

end

X(i)=(y(i)-ly1)/U(i,i);

end

四、报告分析与心得

MATLAB编程和C编程一样需要仔细的逻辑和十分的细心,自己还有很多需要学习的地方。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值