2.5 MATLAB下矩阵的运算
2.5.1 矩阵的代数运算
矩阵的代数运算包括加、减、乘、数乘、点乘、乘方、左除、右除等。其中加、减、乘与大家所学的线性代数中的定义是一样的,相应的运算符为“+”“-”“*”。
对于上述的运算,需要注意的是,矩阵的加、减、乘运算对维数要求与线性代数中的要求一致。
1.矩阵的加减运算
设A=(aij),B=(bij)都是m× n矩阵,矩阵A与B的和记成A+B,规定为:
1)交换律:A+B=B+A。
2)结合律:(A+B)+C=A+(B+C)。
例2-16:验证加法法则。本实例验证矩阵加法的交换律与结合律。
解:MATLAB程序如下。
减法运算法则为:A-B=A+(-B)。
例2-17:矩阵求差。本实例求矩阵的减法运算。
解:MATLAB程序如下。
2.矩阵的乘法运算
(1)数乘运算
数λ与矩阵A=(aii)m×n的乘积记成λA或Aλ,规定为:
同时,矩阵还满足下面的规律:
λ(μA)=(λμ)A
(λ+μ)A=λA+μA
λ(A+B)=λA+λB
其中,λ,μ为数,A,B为矩阵。
(2)乘运算
若3个矩阵有相乘关系,设A=(aij)是一个m× s矩阵,B=(bij)是一个s× n矩阵,规定A与B的积为一个m× n矩阵C=(cij):
cij=ai1b1j+ai2b2j+…+aisbsji=1,2,…,m; j=1,2,…,n
即C=A*B,需要满足以下3种条件。
◆ 矩阵A的列数与矩阵B的行数相同。
◆ 矩阵C的行数等于矩阵A的行数,矩阵C的列数等于矩阵B的列数。
◆ 矩阵C的第m行n列元素值等于矩阵 A的 m行元素与矩阵 B的 n列元素对应值积的和。
注意:
若矩阵A、B满足AB=0,未必有A=0或B=0的结论。
3.点乘运算
点乘运算是指将两矩阵中相同位置的元素进行相乘运算,将积保存在原位置组成新矩阵。
例2-18:矩阵点乘运算。
解:MATLAB程序如下。
4.矩阵的除法运算
由于矩阵的特殊性计算左除A\ B时,A的行数要与B的行数一致,计算右除A/B时,A的列数要与B的列数一致。
(1)左除运算
A*B通常不等于B*A,除法也一样。因此除法要区分左除和右除。
线性方程组D*X=B,如果 D非奇异,即它的逆矩阵inv(D)存在,则其解用MTLAB表为:
X=inv(D)*B=D\B
符号“\”称为左除,即分母放在左边。
左除的条件:B的行数等于D的阶数(D的行数和列数相同,简称阶数)。
例2-19:求解矩阵左除。
解:MATLAB程序如下。
(2)右除运算
若方程组表示为X*D1=B1,D1非奇异,即它的逆阵inv(D1)存在,则其解为:
X=B1*inv(D1)=B1/D1
符号“/”称为右除。
右除的条件:B1的列数等于D的阶数(D的行数和列数相同,简称阶数)。
例2-20:验证矩阵的右除。
解:MATLAB程序如下。