3、数的解,而不象左除给出特解:solve(‘eq1’,‘eq2’,…..’eqn’):对n个方程的默认变量求解solve(‘eq1’,‘eq2’,…..’eqn’,‘var1,var2,…varn’,):对n个方程的var1,varn变量求解S=solve(‘eq1’,‘eq2’,…..’eqn’,‘var1’,‘var2’,…‘varn’,)[x1,x2,..xn]=solve(‘eq1’,‘eq2’,…..’eqn’,‘var1’,‘var2’,…‘varn’,)例:[x,y,z]=solve('x+2*y+3*z-1=0','2*x+y+2*z-1
4、=0','x+3*y+4*z-1=0','x','y','z')[x,y,z,w]=solve('x+5*y-9*z-8*w=0','3*x-y-3*z+4*w-4=0','x+y-3*z-w-1=0','x,y,z,w')2.利用矩阵的分解求解线性方程组矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积。常见的矩阵分解有LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇异分解等。(1)LU分解矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵和一个上三角矩阵的乘积形式。线性代数中已经证明,只
5、要方阵A是非奇异的,LU分解总是可以进行的。MATLAB提供的lu函数用于对矩阵进行LU分解,其调用格式为:[L,U]=lu(X):产生一个上三角阵U和一个变换形式的下三角阵L(行交换),使之满足X=LU。注意,这里的矩阵X必须是方阵。[L,U,P]=lu(X):产生一个上三角阵U和一个下三角阵L以及一个置换矩阵P,使之满足PX=LU。当然矩阵X同样必须是方阵。实现LU分解后,线性方程组Ax=b的解x=U(Lb)或x=U(LP*b),这样可以大大提高运算速度。例6-2用LU分解求解线性方程组。2X1+x2-5x3+x4=13X1-5x2+7x4
6、=13X2+x3-x4=13X1+6x2-x3-4x4=13命令如下:A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';[L,U]=lu(A);x=U(Lb)或采用LU分解的第2种格式,命令如下:[L,U,P]=lu(A);x=U(LP*b)(2)QR分解对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式。QR分解只能对方阵进行。MATLAB的函数qr可用于对矩阵进行QR分解,其调用格式为:[Q,R]=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵R,
7、使之满足X=QR。[Q,R,E]=qr(X):产生一个一个正交矩阵Q、一个上三角矩阵R以及一个置换矩阵E,使之满足XE=QR。实现QR分解后,线性方程组Ax=b的解x=R(Qb)或x=E*(R(Qb))。例6-3用QR分解求解6-2线性方程组。命令如下:A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';[Q,R]=qr(A);x=R(Qb)或采用QR分解的第2种格式,命令如下:[Q,R,E]=qr(A);x=E*(R(Qb))(3)Cholesky分解如果矩阵X是对称正定的,
8、则Cholesky分解将矩阵X分解成一个下三角矩阵和上三角矩阵的乘积。设上三角矩阵为R,则下三