Matlab运算符与演算

Matlab运算符与运算

Matlab中的运算符分为算术运算符、关系运算符和逻辑运算符三种。这三种运算符可以分别使用,也可以同时出现。相信各位对其他语言都有很高造诣的大神们对这些东西都不屑一顾了,但是有个别细节方面还是不一样的,我在这里Mark一下。

一、算术运算符

Matlab中的算数运算符有四则运算符和带点四则运算符,具体如下表。

运算符 运算法则 运算符 运算法则
A+B A与B相加 A-B A与B相减
A*B A与B相乘 A.*B A与B相应元素相乘(A、B为同纬度的矩阵)
A/B A与B相除(A、B为数值或矩阵) A./B A与B相应元素相除(A、B为同纬度的矩阵)
A^B A的B次幂(A、B为数值或矩阵) A.^B A的每个元素的B次幂(A、B为同纬度的矩阵)
>> A=2*eye(2)

A =

     2     0
     0     2

>> B=ones(2)

B =

     1     1
     1     1

>> C=A*B

C =

     2     2
     2     2

>> C=A.*B

C =

     2     0
     0     2

二、关系运算符

运算符 运算法则 运算符 运算法则
< 小于 <= 小于等于
> 大于 >= 大于等于
== 等于 ~= 不等于

基本上都与其它的编程语言类似,但是不同的是比较运算符两边的类型可以不一样。例如,矩阵与一个标量进行比较时,是将矩阵中的每一个元素与标量进行比较;而将结构相同的矩阵进行比较时,是将对应元素进行比较。

>> A=1:5

A =

     1     2     3     4     5

>> B=6-A

B =

     5     4     3     2     1

>> A>4

ans =

     0     0     0     0     1

>> A==B

ans =

     0     0     1     0     0

>> A>B

ans =

     0     0     0     1     1

三、逻辑运算符

这里不再用表格了,因为****的Markdown编辑器中的表格不能打出‘|’这个符号。

& 逻辑与
| 逻辑或
~ 逻辑非

逻辑运算符之间的数值类型也可以是不一样的,如果矩阵与数值之间进行比较,方式为将矩阵的每一个元素都与数值进行比较,比较结果为相同维数的矩阵,矩阵的每一个元素都代表比较矩阵中相同位置上的元素与数值的逻辑运算结果。

使用逻辑运算符比较两个相同维数的矩阵时,相同位置上的元素进行比较。

>> A=eye(2)

A =

     1     0
     0     1

>> A&3

ans =

     1     0
     0     1

>> B=ones(2)

B =

     1     1
     1     1

>> A|B

ans =

     1     1
     1     1

四、运算符的优先级

这里的运算符的优先级与C语言和C++中的优先级是一样的:算数运算符>关系运算符>逻辑运算符

1楼chen_186797786932小时前
赞一个