1

我在 Matlab 中进行了 LU 分解练习,我的教授强调了一些问题,但我不明白我应该纠正什么。

这是下三角矩阵:

function b = triI(A,b)
   n = length(A);
   for i=1:n
     for j=1:i-1
       b(i) = b(i) - A(i,j)*b(j);
     end
   if A(i,i) == 0
       error(’the matrix is singular’)
   end
   b(i) = b(i)/A(i,i);
end

这是下三角矩阵:

 function b = triS(A,b)
   n = length(A);
   for i=n:-1:1
     for j=i+1:n
       b(i) = b(i) - A(i,j)*b(j);
     end
   if A(i,i) == 0
       error(’the matrix is singular’)
   end
   b(i) = b(i)/A(i,i);
end

LU分解

function x = solveLU(A,x)
 n = lenght(A);
 M = tril(A,-1)+eye(n);
 x = solvetril(M,x);
 M = triu(A);
 x = solvetriu(M,x);

我该如何解决这个问题?他说这不是一个正确的算法......提前谢谢!

4

0 回答 0