sympos3.m

来自「Matlab语言常用算法程序集.rar 里面有很多有用的Matlab数值运」· M 代码 · 共 25 行

M
25
字号
function [x,L,D]= SymPos3 (A,b)
N = size(A);
n = N(1);
L = eye(n,n);           %L的对角元素为1
d = zeros(n,1);
AA = zeros(n,n);        %保存的中间变量

for k=1:n 
    d(k,1) = A(k,k)-AA(k,1:(k-1))*transpose(L(k,1:(k-1)));
    %D的第k个对角元素
    for i=(k+1):n
        AA(i,k) = A(i,k)-AA(i,1:(k-1))*transpose(L(k,1:(k-1))); 
        %AA的第k列
        L(i,k) = AA(i,k)/d(k,1);
        %L的第k列
    end
end

D = diag(d);
y = SolveDownTriangle(L,b);              %求解y
for i=1:n
    y(i,1)=y(i,1)/d(i,1);
end
x = SolveUpTriangle(transpose(L),y);     %求解x

⌨️ 快捷键说明

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