上机教学二线性代数综合实例.ppt
线性代数 上机教学,理学院 Science College,西南石油大学 Southwest Petroleum University,二 线性代数综合实例,1,上机目的:一、培养学生运用线性代数的知识解决实际 问题的意识、兴趣和能力;二、掌握常用计算方法和处理问题的方法.,2,上机内容:一、求向量组的最大无关组;二、解线性方程组;三、解决实际问题举例.,上机软件:Matlab,例1 求下列矩阵列向量组的一个最大无关组.解:在Matlab中输入:a=1,-2,-1,0,2;-2,4,2,6,-6;2,-1,0,2,3;3,3,3,3,4;b=rref(a)求得:所以 是一个极大无关组,且,一、求向量组的最大无关组,3,b=1.0000 0 0.3333 0 1.7778 0 1.0000 0.6667 0-0.1111 0 0 0 1.0000-0.3333 0 0 0 0 0,解:在Matlab中输入:,4,故,二、解线性方程组,一、直接解法利用左除运算符的直接解法对于线性方程组Ax=b,可以利用左除运算符“”求解:x=Ab,例1 用直接解法求解下列线性方程组.命令如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;x=Ab,5,2利用矩阵的分解求解线性方程组 矩阵分解是指:根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积.常见的矩阵分解有LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇异分解等.,6,、LU分解(i)、矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵和一个上三角矩阵的乘积形式.线性代数中已经证明,只要方阵A是非奇异的,LU分解总是可以进行的.(ii)、MATLAB提供的lu函数用于对矩阵进行LU分解,其调用格式为:L,U=lu(X):产生一个上三角阵U和一个变换形式的下三角阵L(行交换),使之满足X=LU.注意,这里的矩阵X必须是方阵.L,U,P=lu(X):产生一个上三角阵U和一个下三角阵L以及一个置换矩阵P,使之满足PX=LU.当然矩阵X同样必须是方阵.(iii)、实现LU分解后,线性方程组Ax=b的解x=U(Lb)或x=U(LPb),这样可以大大提高运算速度.,7,例2 用LU分解求解例1中的线性方程组.命令如下: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),8,解得:x=-66.5556 25.6667-18.7778 26.5556,(2)QR分解 对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式.QR分解只能对方阵进行.MATLAB的函数qr可用于对矩阵进行QR分解,其调用格式为:Q,R=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵R,使之满足X=QR.Q,R,E=qr(X):产生一个一个正交矩阵Q、一个上三角矩阵R以及一个置换矩阵E,使之满足XE=QR.实现QR分解后,线性方程组Ax=b的解:x=R(Qb)或x=E(R(Qb).,9,例3 用QR分解求解例1中的线性方程组.命令如下: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),10,三、解决实际问题举例,例1 有甲、乙、丙三种化肥,甲种化肥,每千克含氮70g、磷8g、钾2g;乙种化肥每千克含,氮64g、磷10g、钾0.6g;丙种化肥每千克含氮70g,磷5g、钾1.4g.若把此三种化肥混合,要求总重量,23kg且含磷149g、钾30g,问三种化肥各需多少千克?,11,12,解:设甲、乙、丙三种化肥分别需,千克,依题意得方程组:,用Matlab解方程组:,A=1 1 1;8 10 5;2 0.6 1.4;b=23;149;30;,X=inv(A)*b(X=Ab),13,X=,3.0000 5.0000 15.0000,结果分析:,方程组的解为:,即甲、乙、丙三种化肥分别需3kg、5kg、15kg.,四、上机作业,1、设A=2 1 2 4;1 2 0 2;4 5 2 0;0 1 1 7;求矩阵A列向量组的一个最大无关组.2、用Matlab解线性方程组3、请同学们自己找一个实际问题,建立线性方程组,然后用Matlab求解.注意:(3题选做),14,