资源描述:
《[工学]数值分析09用矩阵分解法解线性代数方程组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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);fori=(n-1):
2、-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,p,q]=lupqd(A);y(1)=b(p(1));fo
3、ri=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、线性方程组应用追赶法求解三对角线性方程组。追赶法仍然保持LU分解特性,它是一种特殊的LU分解。充分利用了系数矩阵的特点,而且使之分解更简单,得到对三对角线性方程组的快速解法。定理如果带宽为w=p+q-1的n阶带状矩阵A有LU分解:A=LU,则L是带宽为p的下三角矩阵,U是带宽为q的上三角矩阵。与G.E.类似,一旦ui=0则算法中断,故并非任何三对角阵都可以用此方法分解。注:分解过程中,矩阵元素不会过分增大,算法保证稳定。运算量为O(6n)。求解Ux=y,x4=0.3333,x3=-0.3333,x2=-1,x1=-1求解Ly=b,y1=1,y2=1.5,y3=1,y4=0.5周期三对角方
5、程组的一般形式基本思想:利用谢尔曼-莫里森公式(Sherman-Morrison)将方程化为三对角方程求解。谢尔曼-莫里森公式(Sherman-Morrison)如何选取U,V二版习题P115----15,16三版习题P138----10,11