3)三对角形线性方程组 二、数学原理 设系数矩阵为三对角矩阵则方程组 Ax=f 称为三对角方程组。 设矩阵 A 非奇异,A 有 Crout 分解 A=LU,其中 L 为下三角矩阵,U 为单位上三角矩阵,记 可先依次求出 L,U 中的元素后,令 Ux=y,先求解下三角方程组 Ly=f 得出 y,再求解上三角方程组 Ux=y。 事实上,求解三对角方程组的 2 追赶法将矩阵三角分解的计算与求解两个三角方程组的计算放在一起,使算法更为紧凑。其计算公式为:(*)三、程序设计function x=chase(a,b,c,f)%求解线性方程组 Ax=f,其中 A 是三对角阵%a 是矩阵 A 的下对角线元素 a(1)=0%b 是矩阵 A 的对角线元素%c 是矩阵 A 的上对角线元素 c(n)=0%f 是方程组的右端向量n=length(f);x=zeros(1,n);y=zeros(1,n);d=zeros(1,n);u= zeros(1,n);%预处理d(1)=b(1);for i=1:n-1u(i)=c(i)/d(i);d(i+1)=b(i+1)-a(i+1)*u(i);end%追的过程y(1)=f(1)/d(1);for i=2:n y(i)=(f(i)-a(i)*y(i-1))/d(i);end%赶的过程x(n)=y(n);for i=n-1:-1:1x(i)=y(i)-u(i)*x(i+1);end>> a=[0,-1,-1,-1,-1,-1,-1,-1,-1,-1];>> b=[4,4,4,4,4,4,4,4,4,4];>> c=[-1,-1,-1,-1,-1,-1,-1,-1,-1,0];>> f=[7,5,-13,2,6,-12,14,-4,5,-5];>> x=chase(a,b,c,f)x =2.00001.0000 -3.00000.00001.0000 -2.00003.0000 -0.00001.0000 -1.0000四、结果分析和讨论 追赶法求解的结果为 x=(2,1,-3,0,1,-2,3,0,1,-1)T。求解结果与精确解一样,这表明追赶法对于求解三对角方程组具有非常高的精度,误差非常小。算法次数也较少,不选主元也可以有效的算出精确结果,是一种计算量少而数值稳定的方法。五、完成题目的体会与收获 通过本题的求解,深刻的理解了追赶法求解三对角方程组的算法原理。学会了追赶法的 matlab 编程,学会了又一种求解特别方程组的方法。追赶法在计算量方面有着巨大的优势,因此在可能的情况下应优先使用追赶法。加深了对数值计算教材知识的理解,收获非常大。