Matlab运算符

您所在的位置:网站首页 matlab矩阵if Matlab运算符

Matlab运算符

2023-05-06 05:02| 来源: 网络整理| 查看: 265

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

算术运算符关系运算符逻辑运算符按位运算符集合运算符

下面我们来一个一个地学习。

算术运算符

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

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

矩阵算术运算与线性代数中定义的相同。在一维和多维数组中,逐个元素执行数组运算。矩阵运算符和数组运算符由句点符号(.)区分。 然而,由于对于矩阵和阵列的加减运算是相同的,因此对于这两种情况,运算符相同。下表简要说明了算术运算符 -

算术运算符示例代码

运算符 描述说明 + 加法或一元加法运算。A + B表示相加存储在变量A和B中的值。A和B必须具有相同的大小,除非是标量。 标量可以添加到任何大小的矩阵。 - 减法或一元减法运算。 A-B表示从A中减去B的值。A和B必须具有相同的大小,除非是标量。可以从任何大小的矩阵中减去标量。 * 矩阵乘法。 C = A * B是矩阵A和B的线性代数乘积。更准确地说,执行公式: ,对于非标量A和B,A的列数必须等于B的行数。标量可以乘以任何大小的矩阵。 .* 阵列乘法。 A .* B是数组A和B的逐个元素乘积。A和B必须具有相同的大小,除非它们之一是标量。 / 数组乘法。A .* B是数组A和B的逐个元素乘积。A和B必须具有相同的大小,除非它们之一是标量。 ./ 数组右除。A./B是具有元素A(i,j)/ B(i,j)的矩阵。 A和B必须具有相同的大小,除非它们之一是标量。 \ 反斜杠或数组左除。如果A是一个方阵,A \ B与inv(A)* B大致相同,除了以不同的方式计算。如果A是n×n矩阵,B是具有n个分量的列向量或具有若干这样的列的矩阵,则X = A \ B是方程AX = B的解。如果A是不规则或几乎单数,将显示警告消息。 .\ 阵列左除。A .\ B是具有元素B(i,j)/ A(i,j)的矩阵。A和B必须具有相同的大小,除非它们之一是标量。 ^ 矩阵 X ^ p是X的P次幂,如果p是标量。 如果p是整数,则通过重复平方来计算幂值。 如果整数为负,则X首先倒置。 对于p的其他值,计算涉及特征值和特征向量,使得如果[V,D] = eig(X),则X ^ p = V * D. ^ p / V。 .^ 阵列幂值, A ^ B是B(i,j)到A(i,j)的幂矩阵。A和B必须具有相同的大小,除非它们之一是标量。 ' 矩阵转置。 '是A的线性代数转置。对于复数矩阵,这是复共轭转置。 .' 数组转置。.'是A的数组转置。对于复数矩阵,这不涉及共轭。 关系运算符

关系运算符也可以用于标量和非标量数据。数组的关系运算符在两个数组之间执行逐个元素的比较,并返回相同大小的逻辑数组,如果为真,则元素设置为逻辑1(true),如果为假,则元素设置为逻辑0(false)。

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

关系运算符示例代码

操作符 说明描述 = 大于或等于 == 等于 ~= 不等于 逻辑运算符

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

逐元素 - 这些运算符对逻辑阵列的相应元素进行操作。短路 - 这些运算符在标量和逻辑表达式上运行。

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

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

逻辑运算符示例代码

位运算

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

假设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) 整数a和b的位与AND操作 bitcmp(a) a的比特补码 bitget(a,pos) 在整数数组a中,获取指定的位置pos位字节 bitor(a, b) 整数a和b的逐位OR操作 bitset(a, pos) 设置在指定pos处的位字节 bitshift(a, k) 返回向左移位k字节,相当于乘以2^k。 k的负值对应于向右移位或除以`2^ k ` 并舍入到最接近的整数到负无穷大。任何溢出位都被截断。 bitxor(a, b) 整数a和b的逐字节位XOR操作 swapbytes 交换字节排序 集合操作

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

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

函数 描述 intersect(A,B) 设置两个阵列的交集; 也就是返回A和B共同的值。返回的值按排序顺序排列。 intersect(A,B,’rows’) 将A的每一行和B的每一行视为单个实体,并返回A和B两者共同的行。返回矩阵的行按排序顺序排列。 ismember(A,B) 返回与A相同大小的数组,其中包含1(true),其中A的元素位于B中。其他地方返回0(false)。 ismember(A,B,’rows’) 将A的每行和B的每一行视为单个实体,并返回一个包含1(true)的向量,其中矩阵A的行也是B行。其他返回0(false)。 issorted(A) 如果A的元素按排序顺序返回逻辑1(真),否则返回逻辑0(假)。输入A可以是一个向量,也可以是N-by-1或1-by-N的字符串数组。 如果A和sort(A)的输出相等,则认为A被排序。 issorted(A, ‘rows’) 如果二维矩阵A的行按排序顺序返回逻辑1(真),否则返回逻辑0(假)。 如果A和排序(A)的输出相等,则认为矩阵A被排序。 setdiff(A,B) 设置两个数组的差异; 返回A中不在B中的值。返回的数组中的值按排序顺序排列。 setdiff(A,B,’rows’) 将A的每一行和B的每一行视为单个实体,并从不在B中的A返回行。返回的矩阵的行按排序顺序排列。'rows'选项不支持单元格数组。 setxor 设置两个数组的异或 union 设置两个数组的并集 unique 使数组中的值唯一 以下是纠正/补充内容: /数组乘法。A .* B是数组A和B的逐个元素乘积。A和B必须具有相同的大小,除非它们之一是标量。  提交时间:2019-08-12 /纠正之后还是错误的,正确的为: / 右除如果a、b是矩阵, 比如aX=b,求出X。那么X=a代表a的逆乘以b;或者Xa=b,X=b/a(代表b乘以a的逆)。如果a、b是两个数,那么a/b就是普通的除法。  提交时间:2019-10-16

上一篇: Matlab数据类型 下一篇: Matlab决策


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3