《矩阵的应用-线性代数的MATLAB求解.ppt》由会员分享,可在线阅读,更多相关《矩阵的应用-线性代数的MATLAB求解.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章第三章 线性代数问题的线性代数问题的MATLABMATLAB求解求解主要内容主要内容3.1.3.1.矩阵及其运算矩阵及其运算3.2.3.2.矩阵的初等变换与线性方程组矩阵的初等变换与线性方程组3.3.3.3.矩阵的对角化矩阵的对角化3.1.3.1.矩阵及其运算矩阵及其运算矩阵的算术运算MATLAB中矩阵的基本运算有+,-,*,/(右除),(左除),(乘方)1、矩阵的线性运算、矩阵的线性运算两个矩阵A,B,A+B和A-B的运算规则是:若两个矩阵的维数相同,则可以执行加减运算,相应的元素相加减,如果尾数不相同则出错。2、矩阵的乘法、矩阵的乘法设两个矩阵A,B分别为m*n和n*p的矩阵,则C=
2、A*B为m*p的矩阵3、矩阵的除法(、矩阵的除法(mldivide 和和mrdivide/)如果两个矩阵A,B是非奇异的,则AB和A/B运算都可以实现。AB等价于inv(A)*B,A/B等价于A*inv(B)对含有标量的运算,两种除法运算的结果相同3/4和4/3都是0.754、矩阵的乘方、矩阵的乘方一个矩阵的乘方运算可以表示成Ax,其中A为方阵,x为标量。5、点运算、点运算两个矩阵进行点运算是指他们的对应元素进行相关运算,要求两矩阵的维参数相同6、矩阵的转置、矩阵的转置 使用单引号 即可方阵的行列式方阵A的行列式对应的求值函数为det(A)矩阵的逆矩阵对于一个可逆的方阵A,求解函数为inv(A
3、)对于普通矩阵A,求伪逆的函数为pinv(A)应用实例-投入产出模型问题描述:国民经济各部门之间存在相互依存的关系,每个部门在运转中将其他部门的半成品(称为投入)经过加工变为自己的产品(产出),如果根据各部门间的投入产出关系,确定各部门的产出水平以满足社会需求。设国民经济由农业、制造业、服务业三个部门构成,关系如下表(3-1):单位(亿元)投入/产出农业制造业服务业外部需求总产出农业15203035100制造业301045115200服务业206007150初始投入3511075总投入100200150三个部门的投入产出表如下(表3-2):单位(亿元)投入/产出农业制造业服务业农业0.150.
4、100.20制造业0.300.050.30服务业0.200.300如第一行第二列的数字0.10表示生产1个单位产值的制造业产品需要投入0.10个单位产值的农产品,由表3-1中20亿元农产品投入制造业可以产出200亿元制造业总产值,20/200=0.1。该表中的数字称为投入系数或消耗系数。需要解决的问题:1、如果今年对农业制造业和服务业的外部需求分别为50亿元、150亿元、100亿元,问这个三个部门的总产出分别是多少?2、如果三个部门的外部需求分别增加1个单位,问他们的总产出应分别增加多少?3、投入产出分析称为可行的,如果对于任意给定的、非负的外部需求,都能得到非负的总产品。为了可行,投入系数应
5、该满足什么条件?模型建立:设有n个部门,记一定时期内第i个部门的总产出为xi,其中对第j个部门的投入是xij,外部需求为di,则:(1)表3-1的每一行都满足(1)式,投入系数记为aij,即为第j个部门的单位产出所需要的第i个部门的投入:(2)由(1)和(2)式得到(3)记投入系数矩阵产出向量需求向量(3)式可写为:(4)或(5)当投入系数A和外部需求d给定后,求线性方程组(5)即可得到各部门的总产出x。问题(1)的解答:编写MATLAB程序:a=0.15 0.1 0.2;0.3 0.05 0.3;0.2 0.3 0;d=50 150 100;b=eye(3)-a;x=bd问题(2)的解答:由
6、方程(5)可得到:(6)表明总产出x对外部需求是线性的,所以当d增加1个单位时(d),x的增量是若农业的外部需求增加1个单位,即d=(1,0,0)T,x为(I-A)-1的第1列。制造业和服务业同样处理。则可以直接使用求逆命令得到dx=inv(b),求得到的数字称为部门关联系数。问题(3)的解答:要使对任意的需求d0,(6)式总能得到总产出x0,显然只需要(I-A)-10,由:且A0,所以只要:就有:由矩阵范数的性质可知 与等价,且故只要即:(7)投入产出就是可行的。由(2)式可知(7)式等价于:(8)只要初始投入非负,(8)式自然成立。3.2.3.2.矩阵的初等变换与线性方程组矩阵的初等变换与
7、线性方程组3.2.1 行最简形将矩阵初等变换成行最简形的函数为rref(A),其中单位向量对应的列向量为最大线性无关组最大线性无关组所含向量,其它列向量的坐标为其对应向量用最大线性无关组线性表示的系数系数。3.2.2 矩阵的秩与迹矩阵中行(列)向量组的最大线性无关的向量的个数称为矩阵的秩,rank(A)矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和,trace(A)解解 编写写Matlab程序如下程序如下 format rat%数据是有理分数表示数据是有理分数表示a=1,-2,-1,0,2;-2,4,2,6,-6;2,-1,0,2,3;3,3,3,3,4;b=rref(a)forma
8、t%恢复到短小数的恢复到短小数的显示格式示格式 线性方程组的解对于线性方程组Ax=b,当b=0时为齐次线性方程组,否则为非齐次线性方程组1、齐次线性方程组的求解齐次线性方程组Ax=0的解得判定定理:(1)当rank(A)=n时,方程有唯一解,且x=0;(2)当rank(A)n时,方程有无穷多组解,即存在非零解,基础解系的个数为n-rank(A),求基础解系的语句为null(A,r)(有理基有理基)例题1:解 编写程序如下 format rat a=1,2,2,1;2,1,-2,-2;1,-1,-4,-3 b=null(a,r)%求有理基 syms k1 k2 x=k1*b(:,1)+k2*b(
9、:,2)%写出方程组的通解 format%恢复到短小数的显示格式 2、非齐次线性方程组的求解、非齐次线性方程组的求解非齐次线性方程组Ax=b的解得判定定理:(1)当m=n,且rank(A)=rank(A|b)=n时,方程组Ax=b有唯一解,x=inv(A)*b(2)当rank(A)=rank(A|b)n时,方程组有无穷多解,此时可用null(A,r)求出对应方程的基础解系,再用pinv(A)*b求出一个特解,则可以获得最后的通解;(3)当rank(A)不等于rank(A|b)时,方程组无解。例题1:例题2:例题3:3.3.3.3.矩阵的对角化矩阵的对角化3.3.1 求矩阵的特征值和特征向量计算
10、矩阵A的特征值和特征向量的命令eig有三种调用格式:(1)E=eig(A)求矩阵A的全部特征值,构成向量E(2)V,D=eig(A)求矩阵A的全部特征值,构成对角阵D,求出A的特征向量构成V的列向量。先对A做相似变换后再求A的特征值和特征向量。(3)V,D=eig(A,nobalance)相对第二种格式,直接求矩阵A的特征值和特征向量。例题1:注:A=compan(p)返回相应的第一行为-p(2:n)/p(1)的伴随矩阵,p是多项式系数向量,compan(p)的特征值是多项式p的根。例如:例题2:特征值3.3.2 实对称阵的对角化对于某方阵A,如果存在一个可逆阵可逆阵P,使得P-1AP=B,称
11、B为A的相似变换相似变换矩阵矩阵。相似变换后A的秩,迹,行列式和特征值都不发生变化。当A为实对称矩阵时,总存在一个正交矩阵正交矩阵P,使得P-1AP=B,其中B是由A的特征值置于主对角线上构成的方阵。MATLAB中求解正交矩阵的函数为Q=orth(A)例题1:设A=0 1 1;1 0 1;1 1 0,求一个正交矩阵P使P-1AP为对角阵。3.3.3 二次型及其标准型n元二次齐次函数:为二次型,且f=xAx,其中称:为二次型的标准型。二次型的标准化实质上是对应的实对称矩阵的对角化。例题1:求一个正交变换x=py,将如下二次型化成标准型:解:首先写出对应的实对称阵A=1 0-1;0 2 0;-1 0 1需要对p补充一个列向量0.7071;0;0.7071使之成为正交矩阵。或者利用v,d=eig(A)得到v。