function [M] = after_method(a,b,c,g,tolerance)

%% 追赶法求解三对角矩阵
% a为三对角矩阵左下对角线上的值
% b为三对角矩阵中间对角线上的值
% c为三对角矩阵右上对角线上的值
% g为方程组右端常数项的值
%%
% M为求解的结果
%%
[m,n] = size(g);
if abs(b(1)) < tolerance
disp('除数为0,停止计算');
return;
else
c(1) = c(1) / b(1);
end
%%
for i = 2:n-1
b(i) = b(i) - a(i-1) * c(i-1);
if abs(b(i)) < tolerance
disp('除数为0,停止计算');
return;
else
c(i) = c(i) / b(i);
end
end
b(n)=b(n)-a(n-1)*c(n-1);
%%
g(1) = g(1) / b(1);
for i = 2:n
g(i) = (g(i) - a(i-1) * g(i-1)) / b(i);
end
%%
M(n) = g(n);
for i=n-1:-1:1
M(i) = g(i) - c(i) * M(i+1);
end
end
%%