• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[matlab]用LU分解法求解线性方程组

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

求解Ax=d的解x

1. LU分解

% file: myLU.m
function [L,U]=myLU(A)
%实现对矩阵A的LU分解,L为下三角矩阵
A
[n,n]=size(A);
L=zeros(n,n);
U=zeros(n,n);
for i=1:n
    L(i,i)=1;
end
for k=1:n
    for j=k:n
        U(k,j)=A(k,j)-sum(L(k,1:k-1).*U(1:k-1,j)\');
    end
    for i=k+1:n
        L(i,k)=(A(i,k)-sum(L(i,1:k-1).*U(1:k-1,k)\'))/U(k,k);
    end
end

2. 用分解获得的L,U求解x

 

[L,U] = myLU(A)

[n,m]=size(A)

y(1)=d(1);
for i=2:n    
    for j=1:i-1
        d(i)=d(i)-L(i,j)*y(j);
    end
    y(i)=d(i);
end

x(n)=y(n)/U(n,n);
for i=(n-1):-1:1
    for j=n:-1:i+1
        y(i)=y(i)-U(i,j)*x(j);
    end
    x(i)=y(i)/U(i,i);
end

  



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
DELPHI中四种EXCEL访问技术实现发布时间:2022-07-18
下一篇:
Delphi系统变量:IsMultiThread对MM的影响发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap