• MATLAB运算符


    MATLAB运算符

    数组中唯一的值运算符是一个符号,它将要执行的数学或者逻辑操作传达给编译器执行。 

    MATLAB 设计工作主要是对整个矩阵和阵列。因此,运算符在 MATLAB 工作标和非标量数据。 

    MATLAB 的基本运算类型:

    算术运算符

    MATLAB 的工作针对的是整个矩阵和阵列,它允许两种不同类型的算术运算:

    • 矩阵算术运算

    • 阵列算术运算

    矩阵的算术运算是线性代数中的定义相同。执行数组操作,无论是在一维和多维数组元素的元素。

    矩阵运算符和数组运算符是有区别的句号(.)符号。然而,由于加法和减法运算矩阵和阵列是相同的,操作者这两种情况下是相同的。下表给出了运算符的简要说明:

    详细例子

    运算符描述
    +加法或一元加号。A + B将A和B。 A和B必须具有相同的尺寸,除非一个人是一个标量。一个标量,可以被添加到任何大小的矩阵。
    -减法或一元减号。A - B,减去B从A和B必须具有相同的大小,除非是一个标量。可以从任意大小的矩阵中减去一个标量。
    *

    矩阵乘法;是一个更精确的矩阵A和B的线性代数积,

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

    .*数组的乘法;A.*B是数组A和B的元素积,A和B必须具有相同的大小,除非A、B中有一个是标量。
    /斜线或矩阵右除法;B/A与B * inv(A)大致相同。更确切地说:
     B/A = (A'B')'
    ./矩阵右除法;矩阵A与矩阵B相应元素相除(A、B为同维度的矩阵)
    .\反斜杠或矩阵左除;如果A是一个方阵,AB是大致相同的INV(A)* B,除非它是以不同的方式计算。如果A是一个n*n的矩阵,B是一个n组成的列向量,或是由若干这样的列的矩阵,则X = AB 是方程 AX = B ,如果A严重缩小或者几乎为单数,则显示警告消息。
    \数组左除法;A. B是元素B(i,j)/A(i,j)的矩阵。A和B必须具有相同的大小,除非其中一个是标量。
    ^矩阵的幂。X^P是X到幂P,如果p是标量;如果p是一个整数,则通过重复平方计算功率。如果整数为负数,X首先反转。对P值的计算,涉及到特征值和特征向量,即如果[ D ] = V,EIG(x),那么X^P = V * D.^P / V。
    .^A.^B:A的每个元素的B次幂(A、B为同纬度的矩阵)
    '矩阵的转置;A'是复数矩阵A的线性代数转置,这是复共轭转置。
    .'数组的转置;A.'是数组A的转置,对于复数矩阵,这不涉及共轭。

    逻辑运算符

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

    • Element-wise -这些运算符的逻辑阵列上运行相应的元素。

    • Short-circuit -这些运算上的标量,逻辑表达式。

    Element-wise 的逻辑运算符操作元素元素逻辑阵列。符号&,|和〜逻辑数组运算符AND,OR,NOT。

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

    详细例子

    关系运算符

    关系运算符标和非标量数据上也能正常工作。关系运算符对数组进行元素元素元素设置为逻辑1(真)的关系是真实的和元素设置为逻辑0(假),它是两个阵列,并返回一个同样大小的逻辑阵列之间的比较。

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

    详细例子

    运算符描述
    <小于
    <=小于或等于
    >大于
    >=大于或等于
    ==等于
    ~=不等于

    位运算

    位运算符位和执行位位操作。 &,|和^的真值表如下:

    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)当a、b是一个或数个无符号整数或无符号整数数组,返回参数a和b位和,
    bitcmp(a)a的补码
    bitget(a,pos)在指定位置pos中获取位,在整数数组a中
    bitor(a, b)对数a和b按位或
    bitset(a, pos)a的集合点在一个特定的位置pos
    bitshift(a, k)返回一个移到左K位,相当于乘以2K。K负值对应的位权转移或除以2|K|向负无穷舍入到最近的整数。任何溢出位都被截断。
    bitxor(a, b)对数a和b按位异或
    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(true),否则返回逻辑0(false)。输入A可以是向量,也可以是N-by-1或1-by-N的字符串数组。如果A和sort(A)的输出相等,则A被认为是排序的。
    issorted(A, 'rows')如果二维矩阵A的行按排序顺序返回逻辑1(真),否则返回逻辑0(假)。 如果A和排序(A)的输出相等,则认为矩阵A被排序。
    setdiff(A,B)设置两个数组的差值;返回不在B中的值。返回数组中的值按排序顺序排列。
    setdiff(A,B,'rows')

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

    “行”选项不支持单元格数组。

    setxor设置两个数组的异或
    union设置两个数组的并集
    unique数组中唯一的值
  • 相关阅读:
    JQuery AJAX 通过一般处理程序 取列表
    恐造成下一个“千年虫”的闰秒,遭科技巨头们联合抵制
    玩转视频剪辑全攻略:批量添加上自定义封面的技巧
    ESP8266-Arduino编程实例-RFID-RC522模块驱动
    2403C++,C++20协程通道
    springboot 多数据源(如何连接两个数据库)
    WorkPlus移动数字化平台,助力企业全面掌控业务和生态
    004、Nvidia Jetson Nano Developer KIT(b01)-代码环境配置
    为什么机加工行业需要建设生产运营管理系统
    Tensorflow2 深度学习十必知
  • 原文地址:https://blog.csdn.net/std86021/article/details/127781629