m0_74904959 2023-02-12 01:34 采纳率: 100%
浏览 32
已结题

关于#matlab#的问题:第一次接触Matlab,在做LU分解法的时候遇到了问题

第一次接触Matlab,在做LU分解法的时候遇到了问题,麻烦会的朋友帮忙看看,谢谢

img

img

  • 写回答

3条回答 默认 最新

  • 元气少女缘结神 2023-02-12 10:33
    关注

    直接换成标准的解法吧

    function [L,U,x]=lux(A,b)
    %LU 分解法解线性方程组(列主元LU分解)
    [n,n]=size(A);
    p=eye(n);%p记录了选择主元时候所进行的行变换
    for k=1:n-1
         [r,m]=max(abs(A(k:n,k)));  %选列主元
         m=m+k-1;
         if(A(m,k)~=0)
             if(m~=k)
                 A([k m],:)=A([m k],:);
                 p([k m])=p([m k]);
            end
            for i=k+1:n   
                 A(i,k)=A(i,k)/A(k,k);
                 j=k+1:n;
                 A(i,j)=A(i,j)-A(i,k)*A(k,j);
            end
        end
    end
    L=tril(A,-1)+eye(n,n);
    U=triu(A);
    %解下三角矩阵 Ly=b
     newb=p*b;
     y=zeros(n,1);
    for k=1:n
        j=1:k-1;
        y(k)=(newb(k)-L(k,j)*y(j))/L(k,k);
    end
    %解上三角方程组  Ux=y
    x=zeros(n,1);
    for k=n:-1:1
         j=k+1:n;
         x(k)=(y(k)-U(k,j)*x(j))/U(k,k);
    end
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月12日

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址