在Matlab中不受高斯消除影响的LU分解

问题描述

我已经在以下Matlab代码中成功实现了高斯消去。该代码给出了高斯消去形式,从中可以提取出上下三角形(L和U)(LU分解)。我可以获得L矩阵,但无法从最内层的循环中从矩阵 a 提取U矩阵。索引使我感到困惑。感谢您的帮助。

% LU Factorization naive Gaussian
    
a = [1 2 -1; 2 1 -2; -3 1 1];
n= size(a,1);

L = eye(n);
U = zeros(n);

for j=1:n-1
    for i=j+1:n
        mult = a(i,j)/a(j,j);
        a(i,j) = mult;
        L(i,j) = a(i,j); % lower unit triangle
        for k=j+1:n
            a(i,k) = a(i,k)-mult*a(j,k);
            U(i,:) = a(i,:) - L(i,j:n)*a(j:n,:);
            
        end
       
    end
end
a
L
U

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)