3.5 矩阵数学运算

本小节主要介绍矩阵的一些基本运算,如矩阵的四则运算、空矩阵,下面将分别介绍这些运算。

矩阵的基本运算包括加、减、乘、数乘、点乘、乘方、左除、右除、求逆等。其中加、减、乘与大家所学的线性代数中的定义是一样的,相应的运算符为“+”“-”“*”。

注意:矩阵的除法运算是MATLAB所特有的,分为左除和右除,相应运算符为“\”和“/”。一般情况下,方程AX=B的解是X=A\B,而方程XA=B的解是X=B/A

对于上述的四则运算,需要注意的是:矩阵的加、减、乘运算的维数要求与线性代数中的要求一致。

3.5.1 矩阵的加法运算

A =(aij), B =(bij)都是m×n矩阵,矩阵AB的和记成A + B,规定为

(1)交换律 A + B = B + A

(2)结合律(A + B)+ C = A +(B + C)。

>> A=[5,6,9,8;5,3,6,7;] 
A = 
     5     6     9     8 
     5     3     6     7 
>> B=[3,6,7,9;5,8,9,6;] 
B = 
     3     6     7     9 
     5     8     9     6 
>> C=[9,3,5,6;8,5,2,1] 
C = 
     9     3     5     6 
     8     5     2     1 
>> A+B 
ans = 
     8    12    16    17 
    10    11    15    13 
>> B+A 
ans = 
     8    12    16    17
    10    11    15    13 
>> (A+B)+C 
ans = 
    17    15    21    23 
    18    16    17    14 
>> A+(B+C) 
ans = 
    17    15    21    23 
    18    16    17    14 
>> D=[1,5,6;2,5,6] 
D = 
     1     5     6 
     2     5     6 
>> A+D 
错误使用  +  
矩阵维度必须一致。               %只有相同维度的矩形才能进行计算

3.5.2 矩阵的减法运算

计算减法运算A-B = A+(-B)。

>> -B 
ans = 
    -3    -6    -7    -9 
    -5    -8    -9    -6 
>> A-B 
ans = 
     2     0     2    -1 
     0    -5    -3     1 

3.5.3 矩阵的乘法运算

(1)数乘运算

λ与矩阵A=(aiim×n的乘积记成λAAλ,规定为

同时,矩阵还满足下面的规律。

λ(µA)=(λµ)A

(λ+µ)AAA

λ(A+B)=λAB

其中,λµ为数,AB为矩阵。

>> A=[1 2 3;0 3 3;7 9 5]; 
>> A*5 
ans =
      5    10    15 
      0    15    15 
     35    45    25  

(2)乘运算

若三个矩阵有相乘关系,设A=(aij)是一个m×s矩阵,B=(bij)是一个s×n矩阵,规定AB的积为一个m×n矩阵C =(cij),其中

cij=ai1b1j+ai2b2j+…+aisbsj i=1,2,…,m; j=1,2,…,n

C = A×B,需要满足以下3种条件。

•矩阵A的行数与矩阵B的列数相同。

•矩阵C的行数等于矩阵A的行数,矩阵C的列数等于矩阵B的列数。

•矩阵C的第mn列元素值等于矩阵Am行元素与矩阵Bn列元素对应值积的和。

>> A=[1 2 3;0 3 3;7 9 5]; 
>> B=[8 3 9;2 8 1;3 9 1]; 
>> A*B 
ans = 
21    46    14 
15    51     6 
89   138    77 

注意:>ABBA,即矩阵的乘法不满足交换律。

若矩阵AB满足AB = 0,未必有A = 0或B = 0的结论。

(3)点乘运算

点乘运算指将两矩阵中相同位置的元素进行相乘运算,将积保存在原位置组成新矩阵。

 >>  A.*B 
ans = 
     8     6    27 
     0    24     3 
    21    81     5 

3.5.4 矩阵的除法运算

计算左除A\B时,A的行数要与B的行数一致,计算右除A/B时,A的列数要与B的列数一致。

(1)左除运算

由于矩阵的特殊性,AB通常不等于BA,除法也一样。因此除法要区分左右。

线性方程组DX=B,如果D非奇异,即它的逆矩阵inv(D)存在。其解用MATLAB表为

X=inv(D)*B=D\B

符号‘\’称为左除,即分母放在左边。

左除的条件:B的行数等于D的阶数(D的行数和列数相同,简称阶数)。

>> A.\B 
ans = 
    8.0000    1.5000    3.0000 
       Inf    2.6667    0.3333 
    0.4286    1.0000    0.2000 

(2)右除运算

若方程组表示为XD1=B1D1非奇异,即它的逆阵inv(D1)存在。其解为

X=B1*inv(D1)=B1/D1

符号‘/’称为右除。

右除的条件:B1的列数等于D的阶数(D的行数和列数相同,简称阶数)。

>> A./B 
ans = 
0.1250    0.6667    0.3333 
         0    0.3750    3.0000 
2.3333    1.0000    5.0000  

3.5.5 操作实例

例1:求解矩阵之和0

例1

>> [1 2 3;-1 5 6]+[0 1 -3;2 1 -1] 
ans = 
     1     3     0 
     1     6     5 

例2:求解矩阵左除与右除。

例2

>> A=[1 2 3;5 8 6]; 
>> B=[8 6 9;4 3 7]; 
>> A.\B 
ans = 
         0         0         0 
   -3.0000   -2.2500   -2.7500 
    4.6667    3.5000    4.8333 
>> A·/B 
ans = 
    0.1250    0.3333    0.3333 
    1.2500    2.6667    0.8571 

例3:求解矩阵乘法运算。

例3

>> A=[0 0;1 1] 
A = 
     0     0 
     1     1 
>> B=[1 0;2 0] 
B = 
     1     0 
     2     0 
>> 6*A - 5*B 
ans = 
    -5     0 
    -4     6 
>> A*B-A 
ans = 
     0     0 
     2    -1 
>> B*A-A 
ans = 
     0     0 
    -1    -1 
>> A.*B-A 
ans = 
     0     0 
     1    -1 
>> A*B./A-A 
ans = 
   NaN   NaN 
     2    -1 

3.5.6 课堂练习——矩阵四则运算

矩阵四则运算

0, 求-BA-B,3×AA×3。

操作提示。

(1)输入矩阵。

(2)使用算数符号计算矩阵。

3.5.7 幂函数

A是一个n阶矩阵,k是一个正整数,规定

称为矩阵的幂。其中,k为正整数.

对角矩阵的幂运算是将矩阵中的每个元素进行乘方运算,即

在MATLAB中,幂运算就是在乘方符号“.^”后面输入幂的次数。

对于单个n阶矩阵A

AkAl=Ak+1, (Akl=Akl

>> A=[1 2 3;0 3 3;7 9 5]; 
>> A.^2 
ans = 
     1     4     9 
     0     9     9 
    49    81    25 

对于两个n阶矩阵AB

ABkAkBk

>> A=[1 2 3;0 3 3;7 9 5]; 
>> B=[5,6,8;6,0,5;4,5,6]; 
>> (A*B)^5 
ans = 
   1.0e+11 * 
    0.3047    0.1891    0.3649 
    0.2785    0.1728    0.3335 
    1.0999    0.6825    1.3173 
>> A^5*B^5 
ans = 
   1.0e+10 * 
    2.5561    2.1096    3.3613 
    2.5561    2.1095    3.3613 
    6.8284    5.6354    8.9793 

知识拓展

exmp:矩阵的指数运算。

>> A=[2 5 6;4 3 8;7 6 5] 
A = 
     2     5     6 
     4     3     8 
     7     6     5 

logm:矩阵的对数运算。

>> logm(A) 
ans = 
    2.0689    1.0758   -0.4254 
   -4.4445    2.5181    3.5937 
    3.9247   -0.6204    0.2959 

sqrtm:矩阵的开方运算函数,进行开方运算的矩阵必须为方阵。

>> sqrtm(A) 
ans = 
    1.5090    1.3496    0.6800 
   -1.8243    1.9070    3.1843 
    3.2133    0.5732    0.9949 

3.5.8 课堂练习——求解幂运算

求解幂运算

已知0

操作提示。

(1)输入矩阵A

(2)使用幂运算,直接计算A2-2A

(3)分解幂运算,计算A2-2A=(A-2EA