杜里特尔分解.txt

来自「数值计算方法的一些题」· 文本 代码 · 共 29 行

TXT
29
字号
function X=myDoolittle(A)
[n,m]=size(A);
if n~=m-1
    'error'
    return
end                                 
for i=2:n
    A(i,1)=A(i,1)/A(1,1);
end
for k=2:n-1
    for j=k:n
        A(k,j)=A(k,j)-sum(A(k,1:k-1)*A(1:k-1,j));
    end
    for i=k+1:n
      A(i,k)=(A(i,k)-sum(A(i,1:k-1)*A(1:k-1,k)))/A(k,k);
    end
end
A(n,n)=A(n,n)-sum(A(n,1:n-1)*A(1:n-1,n));
    if A(n,n)==0
        'error'
        return
    end
for k=2:n
    A(k,n+1)=A(k,n+1)-sum(A(k,1:k-1)*A(1:k-1,n+1));
end
X(n)=A(n,n+1)/A(n,n);
for k=n-1:-1:1
    X(k)=(A(k,n+1)-sum(A(k,k+1:n).*X(k+1:n)))/A(k,k);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?