返回介绍

运算符

发布于 2021-06-01 15:10:52 字数 6772 浏览 999 评论 0 收藏 0

运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。 MATLAB主要用于整个矩阵和数组。 因此,MATLAB中的运算符同时处理标量和非标量数据。 MATLAB允许以下类型的基本操作 -

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 按位操作
  • 设置操作

算术运算符 (Arithmetic Operators)

MATLAB允许两种不同类型的算术运算 -

  • 矩阵算术运算
  • 数组算术运算

矩阵算术运算与线性代数中定义的相同。 数组操作在一维和多维数组上逐个元素地执行。

矩阵运算符和数组运算符由句点(。)符号区分。 但是,由于矩阵和数组的加法和减法操作相同,因此两种情况下的运算符相同。 下表给出了运算符的简要说明 -

显示示例

Sr.No.操作符和说明
1

+

加或一元加。 A + B添加存储在变量A和B中的值.A和B必须具有相同的大小,除非一个是标量。 标量可以添加到任何大小的矩阵中。

2

-

减法或一元减号。 AB从A中减去B的值.A和B必须具有相同的大小,除非一个是标量。 可以从任何大小的矩阵中减去标量。

3

*

矩阵乘法。 C = A * B是矩阵A和B的线性代数乘积。更准确地说,

矩阵乘法

对于非标量A和B,A的列数必须等于B的行数。标量可以乘以任意大小的矩阵。

4

.*

数组乘法。 A. * B是数组A和B的逐元素乘积.A和B必须具有相同的大小,除非其中一个是标量。

5

/

斜线或矩阵右划分。 B/A与B * inv(A)大致相同。 更准确地说,B/A =(A'\ B')'。

6

./

数组右分裂。 A./B是具有元素A(i,j)/ B(i,j)的矩阵。 A和B必须具有相同的大小,除非其中一个是标量。

7

\

反斜杠或矩阵左分裂。 如果A是方阵,则A\B与inv(A)* B大致相同,除非它以不同的方式计算。 如果A是n×n矩阵,B是具有n个分量的列向量,或者是具有多个这样的列的矩阵,则X = A\B是等式AX = B的解。 如果A严重缩放或几乎是单数,则会显示警告消息。

8

.\

数组左分裂。 A.\B是具有元素B(i,j)/ A(i,j)的矩阵。 A和B必须具有相同的大小,除非其中一个是标量。

9

^

矩阵功率。 如果p是标量,则X ^ p是幂p的X. 如果p是整数,则通过重复平方来计算功率。 如果整数为负,则首先反转X. 对于p的其他值,计算涉及特征值和特征向量,使得如果[V,D] = eig(X),则X ^ p = V * D. ^ p/V.

10

.^

阵列功率。 A. ^ B是具有元素A(i,j)到B(i,j)幂的矩阵。 A和B必须具有相同的大小,除非其中一个是标量。

11

'

矩阵转置。 A'是A的线性代数转置。对于复数矩阵,这是复共轭转置。

12

.'

数组转置。 一个。' 是A的数组转置。对于复数矩阵,这不涉及共轭。

关系运算符 (Relational Operators)

关系运算符也可以处理标量和非标量数据。 数组的关系运算符执行两个数组之间的逐个元素比较,并返回相同大小的逻辑数组,其中元素设置为逻辑1(true),其中关系为true,元素设置为逻辑0(false),其中不。

下表显示了MATLAB中可用的关系运算符 -

显示示例

Sr.No.操作符和说明
1

<

Less than

2

《=

小于或等于

3

>

Greater than

4

》=

大于或等于

5

==

等于

6

~=

不等于

逻辑运算符 (Logical Operators)

MATLAB提供两种类型的逻辑运算符和函数 -

  • 元素 - 这些运算符在逻辑数组的相应元素上运行。

  • 短路 - 这些运算符以标量和逻辑表达式运行。

元素逻辑运算符在逻辑数组上逐个元素地操作。 符号&,|和〜是逻辑数组运算符AND,OR和NOT。

短路逻辑运算符允许逻辑运算短路。 符号&&和|| 是逻辑短路运算符AND和OR。

显示示例

按位操作

按位运算符处理位并执行逐位运算。 &,|和^的真值表如下 -

pqp&qp | qp ^ q
00000
01011
11110
10011

假设A = 60; 和B = 13; 现在采用二进制格式,它们如下 -

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~A = 1100 0011

MATLAB为逐位操作提供了各种功能,如“按位和”,“按位”或“按位非”操作,移位操作等。

下表显示了常用的按位操作 -

显示示例

功能目的
bitand(a, b)按位和整数ab
bitcmp(a)a逐位补充
bitget(a,pos)在整数数组a获取指定位置pos
bitor(a, b)整数ab位OR
bitset(a, pos)在a的特定位置pos处设置位
bitshift(a, k)返回向左移位k位,相当于乘以2 k 。 k的负值对应于向右移位或除以2 | k | 并舍入到最接近负整数的整数。 任何溢出位都被截断。
bitxor(a, b)整数ab逐位异或
swapbytes交换字节顺序

设置操作

MATLAB为集合操作提供了各种功能,例如联合,交集和集合成员资格的测试等。

下表显示了一些常用的集合操作 -

显示示例

Sr.No.功能说明
1

intersect(A,B)

设置两个数组的交集; 返回A和B共有的值。返回的值按排序顺序排列。

2

intersect(A,B,'rows')

将A的每一行和B的每一行视为单个实体,并返回A和B共同的行。返回矩阵的行按排序顺序排列。

3

ismember(A,B)

返回一个与A大小相同的数组,包含1(true),其中A的元素在B中找到。在其他地方,它返回0(false)。

4

ismember(A,B,'rows')

将A的每一行和B的每一行视为单个实体,并返回包含1(true)的向量,其中矩阵A的行也是B的行。否则,它返回0(false)。

5

issorted(A)

如果A的元素按排序顺序返回逻辑1(true),否则返回逻辑0(false)。 输入A可以是矢量或N×1或1×N的字符串数组。 A is considered to be sorted if A和sort(A)的输出相等, A is considered to be sorted if A

6

issorted(A, 'rows')

如果二维矩阵A的行按排序顺序返回逻辑1(真),否则返回逻辑0(假)。 Matrix A is considered to be sorted if A和sortrows(A)的输出相等, Matrix A is considered to be sorted if A

7

setdiff(A,B)

设置两个数组的差异; 返回A中不在B中的值。返回数组中的值按排序顺序排列。

8

setdiff(A,B,'rows')

将A的每一行和B的每一行视为单个实体,并返回A中不在B中的行。返回矩阵的行按排序顺序排列。

'rows'选项不支持单元格数组。

9

setxor

设置两个数组的异或

10

union

设置两个数组的并集

11

unique

数组中的唯一值

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文