归纳总结MATLAB中与矩阵运算有关的算术运算符(加、减、乘、除、点乘、点除、乘方、转置等)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
运算是算法的基础所以我们有必要了解我们使用的工具怎样实现矩阵的基本运算。
这篇博文总结MATLAB中矩阵的算术运算符。
目录
01-加法运算符“+”
A+B表示把矩阵A和B的对应元素相加A和B必须是具有相同尺寸的矩阵除非它们之一为标量。
此种情况的第一个示例如下(A、B皆为相同尺寸的矩阵)
A = [1 2 3;4 5 6;7 8 9];
B = [2 3 4;5 6 7;8 9 0];
C = A+B;
运行结果
此种情况的第二个示例如下(A、B中一个为矩阵一个为标量)
A = [1 2 3;4 5 6;7 8 9];
b = 5;
C = A+b;
02-减法(相反数)运算符“-”
A-B表示把矩阵A与矩阵B中的对应元素进行相减运算。A和B必须是具有相同尺寸的矩阵除非它们之一为标量。运算符“-”还可以求矩阵中每个元素的相反数。
运算符“-”的第一个示例代码(A、B均为矩阵)
A = [1 2 3;4 5 6;7 8 9];
B = [2 3 4;5 6 7;8 9 0];
C = B-A;
运算符“-”的第二个示例代码(A、B中一个为矩阵一个为标量)
A = [1 2 3;4 5 6;7 8 9];
b = 2;
C = b-A;
D = A-b;
运算符“-”的第三个示例代码(求矩阵中每一个元素的相反数)
A = [1 2 3;4 5 6;7 8 9];
B = -A;
运行结果如下
03-元素乘积(点乘)运算符“.*”
功能A.*B相当于矩阵A和矩阵B对应的元素相乘A和B必须是具有相同尺寸的矩阵除非它们之一为标量。
运算符“.*”的第一个示例代码
A = [1 2 3;4 5 6;7 8 9];
B = [2 3 4;5 6 7;8 9 0];
C = A.*B;
运行结果
运算符“.*”的第二个示例代码
A = [1 2 3;4 5 6;7 8 9];
b = 3;
C = A.*b;
D = b.*A;
运行结果如下
04-元素右除(点除)运算符“./”
功能运算符“./”是元素的右除法A./B的意思为A矩阵中的元素除以B矩阵中的对应元素A和B必须是具有相同尺寸的矩阵除非它们之一为标量。
运算符“./”的第一个示例代码如下
B = [1 2 3;4 5 6;7 8 9];
A = [3 7 12;22 30 42;57 72 90];
C = A./B;
运行结果如下
从上面的运算结果我们可以看出元素与元素之间做的除法是真除(即既保留了整数部分也保留了小数部分)
运算符“./”的第二个示例代码如下
A = [3 7 12;22 30 42;57 72 90];
b = 3;
C = A./b;
运行结果如下
05-元素左除(点除)运算符“.\”
运算符“.\”为元素的左除法这个运算符和运算符“./”的使用方法相同只不过是把被除数和除数的位置换一下即A.\B的意思为B矩阵中的元素除以A矩阵中的对应元素A和B必须是具有相同尺寸的矩阵除非它们之一为标量。
示例略
06-元素乘方运算符“.^”
作用运算符“.^”为矩阵中元素的乘方。A.^B的意思为A中的元素为底数B中对应的元素为指数作乘方运算。同样A和B必须是具有相同尺寸的矩阵除非它们之一为标量。
运算符“.^”的示例代码如下
A = [1 2 3;4 5 6;7 8 9];
B = [9 8 7;6 5 4;3 2 1];
C = A.^B;
运行结果如下
07-转置运算符“.'”和运算符“ ’ ”
运算符“.'”和运算符“ ’ ”都用于求矩阵的转置区别在于对复数矩阵的处理前者在求复数矩阵的转置时不对每个元素求其共轭复数后者在求复数矩阵的转置时会对每个元素求其共轭复数。
示例代码如下
A = [1 2 3;4 5 6];
B = A.';
C = A';
D = [1+2i 3+4i 5+6i];
E = D.';
F = D';
运行结果如下
08-矩阵乘法运算符“*”
作用A*B表示矩阵A和矩阵B的乘法当A和B均为矩阵时根据矩阵乘法的运算规则A的列数需要和B的行数相等。如果不想满足这个条件而使用这个运算符除非它们之一为标量此时有A*b=A.*b
示例代码如下
A = [1 2 3;4 5 6];
B = [7 8;9 10;11 12];
C = A*B;
b = 3;
D = A*b;
F = A.*b;
运行结果如下
09-矩阵除法运算符“/”和运算符“\”(注意:这个和元素的左右除法很不一样)
运算符“/”和运算符“\”的作用是矩阵右除法矩阵左除法。我们知道矩阵其实是没有除法的定义的在线性代数中与之相关的概念是矩阵的逆。
那么A\B和B/A分别代表什么呢
不考虑结果精度的话A\B相当于 inv(A)*B
不考虑结果精度的话B/A相当于 B*inv(A)
这里要特别注意A\B并不像元素除法那样等于B/A规律是被斜线压在下方的那个矩阵作求逆运算。
示例和验证代码如下
A = [1 2;3 4];
B = [5 6;7 8];
C = A\B;
E = inv(A)*B;
D = B/A;
F = B*inv(A);
运行结果如下
可见C和E的结果是一样的说明A\B相当于inv(A)*B
可见D和F的结果是一样的说明B/A相当于 B*inv(A)
10-矩阵乘方运算符“^”
运算符“^”是矩阵的乘方运算注意在式子A^B中A和B是不能同时为矩阵具体用法如下
当A和B都是标量时表示标量A的B次方。
当A为方阵B为正整数时表示矩阵A的B次乘积
当A为方阵B为负整数时表示矩阵A的逆的B次乘积
当B为非整数时有如下表达式
运算符“^”的示例代码就不贴了。
延伸阅读
Python的Numpy库中各种矩阵基本运算的示例代码(加、减、乘、点乘、点除、乘方、转置等)
OpenCV中的MAT类矩阵的各种基本运算及示例代码(加、减、乘、点乘、点除、乘方、累加、转置等)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |