我在 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);
我该如何解决这个问题?他说这不是一个正确的算法......提前谢谢!