matlab的l u分解求逆,1、克劳特(Crout)(LU)分解法求解线性方程组的matlab实现

1、克劳特(Crout)(LU)分解法求解线性方程组

function [x,L,U]=Crout(A,b)

%Crout分解法求解线性方程组

%系数矩阵:A

N=size(A);

n=N(1);

L=zeros(n,n); %下三角矩阵

U=eye(n,n); %上三角矩阵

L(1:n,1)=A(1:n,1); %L的第一列

U(1,1:n)=A(1,1:n)/L(1,1); %U的第一行?

for k=2:n

for i=k:n

L(i,k)=A(i,k)-L(i,1:(k-1))*U(1:(k-1),k);

%L的第k列

end

for j=(k+1):n

U(k,j)=(A(k,j)-L(k,1:(k-1))*U(1:(k-1),j))/(L(k,k));

%U的第k行

end

end

%y=inv(L)*b;

%x=inv(U)*y;

y=SolveDownTriangle(L,b);

x=SolveUpTriangle(U,y); %求解线性方程组的解x

%x=U\(L\b);

function x=SolveUpTriangle(A,b)

%求解上三角矩阵Ax=b的解

N=size(A);

n=N(1);

for i=n:-1:1

if(is=A(i,(i+1):n)*x((i+1):n,1);

else

s=0;

end

x(i,1)=(b(i)-s)/A(i,i);

end

function x=SolveDownTriangle(A,b)

%求解下三角矩阵Ax=b的解

N=size(A);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值