资源描述:
《matlab线性方程组的矩阵解法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用矩阵分解法求解线性方程组五、三对角方程组的解法lupdsv.m%功能:调用列主元三角分解函数[LU,p]=lupd(A)%求解线性方程组Ax=b。%解法:PA=LU,Ax=b←→PAx=Pb%LUx=Pb,y=Ux%Ly=f=Pb,f(i)=b(p(i))%输入:方阵A,右端项b(行或列向量均可)%输出:解x(行向量)functionx=lupdsv(A,b)n=length(b);[LU,p]=lupd(A);y(1)=b(p(1));fori=2:ny(i)=b(p(i))-LU(i,1:i-1)*y(1:i-1)';endx(n)=y(n)/LU(n,n
2、);fori=(n-1):-1:1x(i)=(y(i)-LU(i,i+1:n)*x(i+1:n)')/LU(i,i);endlupqdsv.m%功能:调用全主元三角分解函数[LU,p,q]=lupqd(A)%求解线性方程组Ax=b。%解法:PAQ-1=LU,Ax=b←→(PAQ-1)(Qx)=Pb%LU(Qx)=Pb,z=Qx,y=Uz%Ly=f=Pb,f(i)=b(p(i))%Uz=y,z=Qx,x(q(i))=z(i).%输入:方阵A,右端项b(行或列向量均可)%输出:解x(行向量)functionx=lupqdsv(A,b)n=length(b);[LU,
3、p,q]=lupqd(A);y(1)=b(p(1));fori=2:ny(i)=b(p(i))-LU(i,1:i-1)*y(1:i-1)';endz(n)=y(n)/LU(n,n);x(q(n))=z(n);fori=(n-1):-1:1z(i)=(y(i)-LU(i,i+1:n)*z(i+1:n)')/LU(i,i);x(q(i))=z(i);end定义1若n阶矩阵A=(aij)的元素满足:对于1
4、=3)的矩阵。系数矩阵为三对角矩阵的线性方程组称为三对角方程组。五、三对角方程组的解法三对角线性方程组应用追赶法求解三对角线性方程组。追赶法仍然保持LU分解特性,它是一种特殊的LU分解。充分利用了系数矩阵的特点,而且使之分解更简单,得到对三对角线性方程组的快速解法。定理如果带宽为w=p+q-1的n阶带状矩阵A有LU分解:A=LU,则L是带宽为p的下三角矩阵,U是带宽为q的上三角矩阵。求解Ux=y,x4=0.3333,x3=-0.3333,x2=-1,x1=-1求解Ly=b,y1=1,y2=1.5,y3=1,y4=0.5