matlab 利用下三角矩阵求矩阵的行列式

yftpprvb  于 2023-04-21  发布在  Matlab
关注(0)|答案(1)|浏览(186)

我有一些算法可以找到矩阵的行列式并将其预转换为上三角矩阵形式:

clear all;
A = rand([3 3])*100;
B = A;
N = size(A);
for K = 1 : N-1
    for I = K+1 : N
        for J = K:N
            if J == K
                aik = A(I,K);
            end
            A(I,J) = (A(I,J) - aik/A(K,K)*A(K,J));
        end
    end
end
det = 1;
for I = 1:N
    det = det*A(I,I);
end

这段代码运行得很好。现在我想开发一个类似的算法,但对于下三角矩阵的情况。我怎么做呢?重要的是,我需要使用MATLAB,而不需要调用任何外部函数。

5uzkadbs

5uzkadbs1#

正确解决方案:

clear all;
A = rand([5 5])*100;
det(A);
B = A;
N = size(A);
for K = N:-1: 1
    for I = K-1:-1: 1
        for J = N:-1:1
            if J == K
                aik = A(I,K);
            end
            A(I,J) = (A(I,J) - aik/A(K,K)*A(K,J));
        end
    end
end
det = 1;
for I = N:-1:1
    det = det*A(I,I);
end

相关问题