2支棒棒糖 发表于 2018-9-20 14:10:24

追赶法Matlab程序

function f = Chase(A,f)
= size(A);
fprintf('追赶法\n');
L = tril(A);
U = triu(A,1) + eye(n,n);
L(1,1) = A(1,1);
for k = 1:n-1
    L(k+1,k) = A(k+1,k);
    U(k,k+1) = A(k,k+1)/L(k,k);
    L(k+1,k+1) = A(k+1,k+1) - A(k+1,k)*U(k,k+1);
end
disp(L);
disp(U);
b(1) = A(1,1);
for k = 2:n
    a(k) = A(k,k-1);
    b(k) = A(k,k);
    c(k-1) = A(k-1,k);
    B(k-1) = U(k-1,k);
end
y(1) = f(1)/b(1);
for k = 2:n
    y(k) = (f(k)-a(k)*y(k-1))/(b(k)-a(k)*B(k-1));
end
disp(y);
x(n) = y(n);
for k = n-1:-1:1
    x(k) = y(k) - B(k)*x(k+1);
end
f = x;


页: [1]
查看完整版本: 追赶法Matlab程序