MATLAB系统丰富和完善的函数库为用户提供了强大的矩阵运算功能。另外,MATLAB中的运算符也能实现基本的矩阵运算,在下面的小节中将进行详细介绍。
3.2.1 矩阵运算基础
【功能简介】"+"、"-"、"*"、"/"分别对矩阵进行加、减、乘、除运算。
【语法格式】
1.C=A+B或C=A-B
A与B是大小相同的矩阵或数组,上式对A和B中的每一个元素分别进行加法或减法运算,并将结果返回给C,C与A和B大小相同。
格式变体:
C=A+b或C=A-b:b是一个标量值,计算时,A中的每一个元素分别加上或减去b。相当于C=A+repmat(b, size(A))或C=A-repmat(b,size(A))。
2.C=A.*B或C=A./B
A与B大小相同,计算时,A、B中的每一个元素分别进行乘法或除法运算,并将结果返回给C,C是A和B的同型矩阵。
格式变体:
C=A.*b或C=A./b:b是一个标量值,A中的所有元素都乘以或除以b。
3.C=A*B
进行矩阵乘法或矩阵除法。m×n的矩阵A与n×p的矩阵B相乘,得到m×p的矩阵C。C中任意一个元素C(i,j)的计算方法是sum(A(i,:).*B(:,j))。
4.X=A/B或X=A\B
A/B相当于A*inv(B),是X*B=A的解。B必须是非奇异矩阵。A\B相当于inv(A)*B,是A*X=B的解,A必须是非奇异矩阵。
【实例3.21】矩阵的加减乘除运算。
>> a=[1,2;3,4];
>> b=[1,1;1,1];
>> aadd_r=a+b %矩阵a与b的和
add_r =
2 3
4 5
>> sub_r=a-b %矩阵a与b的差
sub_r =
0 1
2 3
>> a+5 %矩阵a加上5
ans =
6 7
8 9
>> b-1 %矩阵b减去1
ans =
0 0
0 0
>> mul_r=a.*b %矩阵a与b对应元素相乘
mul_r =
1 2
3 4
>> div_r=b./a %矩阵b与a对应元素相除
div_r =
1.0000 0.5000
0.3333 0.2500
>> c=a*b %矩阵a、b相乘
c =
3 3
7 7
>> a\b %inv(a)*b
ans =
-1 -1
1 1
>> b/a %b*inv(a)
ans =
-0.5000 0.5000
-0.5000 0.5000
【实例分析】注意数值的乘除与矩阵的乘除之间的区别。