您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 追赶法求解三对角方程及其算例
追赶法求解三对角方程组要求:对于给定的三对角系数矩阵和右端项,可以求解线性代数方程组一、追赶法的数学理论设系数矩阵为三对角矩阵1122233111000000000000000000nnnnnbcabcabAabcab则方程组Ax=f称为三对角方程组。设矩阵A非奇异,A有Crout分解A=LU,其中L为下三角矩阵,U为单位上三角矩阵,记11222331100001000000010000000100,000000000000001nnnnbLU可先依次求出L,U中的元素后,令Ux=y,先求解下三角方程组Ly=f得出y,再求解上三角方程组Ux=y。事实上,求解三对角方程组的2追赶法将矩阵三角分解的计算与求解两个三角方程组的计算放在一起,使算法更为紧凑。其计算公式为:1111,1111,111,2,3,,,1,2,,1iiiiiiiiiiiiiinniiiicfbyincabafyyxyinnxyx对对(*)二、追赶法的算法和流程图1.预处理生成方程组的系数iu及其除数id,事实上,按式(*)可交替生成id与iu:1d→1u→2d→…→1nu→nd其计算公式为1,...,2,1,,/cub111ii11niuabdddiiiii2.追的过程顺序生成方程组右端:iy→2y→…→ny据式(*)的计算公式为nidyafydfyiiiii,...,3,2,/)(/11113.赶的过程逆序得出方程组的解ix:nx→1nx→…→1x其计算公式按式为1,2,1,1,nnixuyxyxiiiinn三、追赶法的Matlab实现functionx=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);fori=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);fori=2:Ny(i)=(f(i)-a(i)*y(i-1))/d(i);end%赶的过程x(N)=y(N);fori=N-1:-1:1x(i)=y(i)-u(i)*x(i+1);end四、追赶法的算例实现算例用追赶法求解方程组1016432153-1-21-2-31-1-2xxxx解答令a=[0,-1,-1,-3];b=[2,3,2,5];c=[-1,-2,-1,0];f=[6,1,0,1];在命令窗口运行语句x=chase(a,b,c,f)得结果为x=5432
本文标题:追赶法求解三对角方程及其算例
链接地址:https://www.777doc.com/doc-5412514 .html