1/7第三节矩阵的基本运算§3.1加和减§3.2矩阵乘法§3.2.1矩阵的普通乘法§3.2.2矩阵的Kronecker乘法§3.3矩阵除法§3.4矩阵乘方§3.5矩阵的超越函数§3.6数组运算§3.6.1数组的加和减§3.6.2数组的乘和除§3.6.3数组乘方§3.7矩阵函数§3.7.1三角分解§3.7.2正交变换§3.7.3奇异值分解§3.7.4特征值分解§3.7.5秩§3.1加和减如矩阵A和B的维数相同,则A+B与A-B表示矩阵A与B的和与差.如果矩阵A和B的维数不匹配,Matlab会给出相应的错误提示信息.如:A=B=123147456258780360C=A+B返回:C=26106101410140如果运算对象是个标量(即1×1矩阵),可和其它矩阵进行加减运算.例如:x=-1y=x-1=-20-121§3.2矩阵乘法Matlab中的矩阵乘法有通常意义上的矩阵乘法,也有Kronecker乘法,以下分别介绍.2/7§3.2.1矩阵的普通乘法矩阵乘法用“*”符号表示,当A矩阵列数与B矩阵的行数相等时,二者可以进行乘法运算,否则是错误的.计算方法和线性代数中所介绍的完全相同.如:A=[12;34];B=[56;78];C=A*B,结果为C=×==即Matlab返回:C=19224350如果A或B是标量,则A*B返回标量A(或B)乘上矩阵B(或A)的每一个元素所得的矩阵.§3.2.2矩阵的Kronecker乘法对n×m阶矩阵A和p×q阶矩阵B,A和B的Kronecher乘法运算可定义为:由上面的式子可以看出,Kronecker乘积AB表示矩阵A的所有元素与B之间的乘积组合而成的较大的矩阵,BA则完全类似.AB和BA均为np×mq矩阵,但一般情况下ABBA.和普通矩阵的乘法不同,Kronecker乘法并不要求两个被乘矩阵满足任何维数匹配方面的要求.Kronecker乘法的Matlab命令为C=kron(A,B),例如给定两个矩阵A和B:A=B=则由以下命令可以求出A和B的Kronecker乘积C:A=[12;34];B=[132;246];C=kron(A,B)C=132264246481239641286121881624作为比较,可以计算B和A的Kronecker乘积D,可以看出C、D是不同的:A=[12;34];B=[132;246];D=kron(B,A)D=123624349126824486126812161824§3.3矩阵除法在Matlab中有两种矩阵除法符号:“\”即左除和“/”即右除.如果A矩阵是非奇异方阵,则A\B是A的逆矩阵乘B,即inv(A)*B;而B/A是B乘A的逆矩阵,即B*inv(A).具体计算时可不用逆矩阵而直接计算.通常:43218765846374538261725150432219BaBaBaBaBaBaBaBaBaBACnmnnmm.........21222211121112341322463/7x=A\B就是A*x=B的解;x=B/A就是x*A=B的解.当B与A矩阵行数相等可进行左除.如果A是方阵,用高斯消元法分解因数.解方程:A*x(:,j)=B(:,j),式中的(:,j)表示B矩阵的第j列,返回的结果x具有与B矩阵相同的阶数,如果A是奇异矩阵将给出警告信息.如果A矩阵不是方阵,可由以列为基准的Householder正交分解法分解,这种分解法可以解决在最小二乘法中的欠定方程或超定方程,结果是m×n的x矩阵.m是A矩阵的列数,n是B矩阵的列数.每个矩阵的列向量最多有k个非零元素,k是A的有效秩.右除B/A可由B/A=(A'\B')'左除来实现.§3.4矩阵乘方A^P意思是A的P次方.如果A是一个方阵,P是一个大于1的整数,则A^P表示A的P次幂,即A自乘P次.如果P不是整数,计算涉及到特征值和特征向量的问题,如已经求得:[V,D]=eig(A),则:A^P=V*D.^P/V(注:这里的.^表示数组乘方,或点乘方,参见后面的有关介绍)如果B是方阵,a是标量,a^B就是一个按特征值与特征向量的升幂排列的B次方程阵.如果a和B都是矩阵,则a^B是错误的.§3.5矩阵的超越函数在Matlab中解释exp(A)和sqrt(A)时曾涉及到级数运算,此运算定义在A的单个元素上.Matlab可以计算矩阵的超越函数,如矩阵指数、矩阵对数等.一个超越函数可以作为矩阵函数来解释,例如将“m”加在函数名的后边而成expm(A)和sqrtm(A),当Matlab运行时,有下列三种函数定义:expm矩阵指数logm矩阵对数sqrtm矩阵开方所列各项可以加在多种m文件中或使用funm.请见应用库中sqrtm.m,1ogm.m,funm.m文件和命令手册.§3.6数组运算数组运算由线性代数的矩阵运算符“*”、“/”、“”、“^”前加一点来表示,即为“.*”、“./”、“”、“.^”.注意没有“.+”、“.-”运算.§3.6.1数组的加和减对于数组的加和减运算与矩阵运算相同,所以“+”、“-”既可被矩阵接受又可被数组接受.§3.6.2...