《矩阵分析》Ⅳ——三对角矩阵的追赶法matlab实现
1、算法思想
2、matlab实现
function [P,Q,X]=Thomas(A,B)%%%使用追赶法计算三对角矩阵线性方程组:%%%输入三对角矩阵A和列向量B;%%%输出方程的解X。[n,~]=size(A);P=eye(n);Q=zeros(n);Q(1,1)=A(1,1);for i=2:nQ(i-1,i)=A(i-1,i);P(i,i-1)=A(i,i-1)/Q(i-1,i-1);Q(i,i)=A(i,i)-P(i,i-1)*Q(i-1,i);endY=zeros(n,1);Y(1)=B(1);X=zeros(n,1);for i=2:nY(i)=B(i)-P(i,i-1)*Y(i-1);endX(n)=Y(n)/Q(n,n);for j=n-1:-1:1X(j)=(Y(j)-Q(j,j+1)*X(j+1))/Q(j,j);end