%追赶法解方程组
A=[4,-1,0,0,0,0,0,0,0,0
-1,4,-1,0,0,0,0,0,0,0
0,-1,4,-1,0,0,0,0,0,0
0,0,-1,4,-1,0,0,0,0,0
0,0,0,-1,4,-1,0,0,0,0
0,0,0,0,-1,4,-1,0,0,0
0,0,0,0,0,-1,4,-1,0,0
0,0,0,0,0,0,-1,4,-1,0
0,0,0,0,0,0,0,-1,4,-1
0,0,0,0,0,0,0,0,-1,4];
b=[7,5,-13,2,6,-12,14,-4,5,-5]';
n=length(b);%方程个数n
T=zeros(n,n);
M=zeros(n,n);%定义分解矩阵
T(1,1)=A(1,1);
M(1,2)=A(1,2)/T(1,1);
for j=1:n
M(j,j)=1;%M阵对角线元素都为1
end
for i=2:n
T(i,i-1)=A(i,i-1);%T矩阵上行元素和A的相同
end
for i=2:n
T(i,i)=A(i,i)-(A(i,i-1)*M(i-1,i));
if i<10
M(i,i+1)=A(i,i+1)/T(i,i);
end
end
T
M
x=zeros(n,1);%未知向量
y=zeros(n,1);%中间向量
y(1)=b(1)/T(1,1);
for i=2:n
y(i)=(b(i)-(A(i,i-1)*y(i-1)))/T(i,i);%回代求出中间向量
end
y
x(n)=y(n);
for i=n-1:-1:1
x(i)=(y(i)-M(i,i+1)*x(i+1));%求出所求精确解
end
x
评论0