当前位置:网站首页>详解MATLAB中与矩阵运算有关的算术运算符(加、减、乘、除、点乘、点除、乘方)
详解MATLAB中与矩阵运算有关的算术运算符(加、减、乘、除、点乘、点除、乘方)
2022-06-10 20:13:00 【昊虹图像算法】
运算是算法的基础,所以我们有必要了解我们使用的工具怎样实现矩阵的基本运算。
这篇博文总结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 = [2 6 12;20 30 42;56 72 90];
C = A./B;
运行结果如下:


运算符“./”的第二个示例代码如下:
A = [3 6 9;12 15 18;21 24 27];
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为非整数时,有如下表达式:
运算符“^”的示例代码就不贴了。
边栏推荐
- LeetCode 进阶之路 - 字符串中的第一个唯一字符
- 面试必备——synchronized底层原理的基础知识
- LeetCode 进阶之路 - 加一
- pytorch深度学习——神经网络卷积层Conv2d
- 实用 | 如何利用 Burp Suite 进行密码爆破!
- Meetup Preview: introduction to the new version of linkis and the application practice of DSS
- You have to learn math to play art?
- LeetCode 进阶之路 - 136.只出现一次的数字
- Nanny tutorial: how to become a contributor to Apache linkis documents
- Mba-day21 linear programming problem
猜你喜欢

pdf.js-----js解析pdf文件实现预览,并获取pdf文件中的内容(数组形式)

Monitoring is easy to create a "quasi ecological" pattern and empower Xinchuang to "replace"

CET-6 - Business English - the last recitation before the test

72. 编辑距离 ●●●

数据库系统概论 ---- 第一章 -- 绪论(重要知识点)

RuntimeError: Attempting to deserialize object on CUDA device 1 but torch. cuda. device_ count() is 1.
![js基础及常考面试题之 [] == ![]结果为true, []==[]结果为false 详解](/img/42/bcda46a9297a544b44fea31be3f686.png)
js基础及常考面试题之 [] == ![]结果为true, []==[]结果为false 详解

Serial Print() and serial The difference of write() function, and the problem of hexadecimal and string sending and receiving format in serial port communication and detailed explanation of the conver

Redis缓存雪崩

异步、线程池(CompletableFuture)
随机推荐
Pytorch deep learning -- neural network convolution layer conv2d
游戏兼容性测试(通用方案)
蛮力法/1~n个整数中取k个整数
堆排序与加强堆代码 用于记忆
信号与系统复习1
In MySQL basics, MySQL adds an automatically added primary key (or any field) to an existing table
torch. nn. Simple understanding of parameter / / to be continued. Let me understand this paragraph
面试必备——synchronized底层原理的基础知识
72. 编辑距离 ●●●
^30H5 Web Worker多线程
Whether there is a simple path from brute force method /u to V
Power set V4 recursion of brute force method /1~n
Redis集群配置
RuntimeError: Attempting to deserialize object on CUDA device 1 but torch. cuda. device_ count() is 1.
Brute force method / task assignment
P5723 [deep base 4. example 13] prime number pocket
Vissim仿真快速入门
魔塔类游戏实现源码及关卡生成
Theoretical basis of distributed services
MySQL Basics