Main Content

xor

计算逻辑异 OR

说明

示例

C = xor(A,B) 对输入 AB 执行逻辑异 OR 运算,并返回一个数组或表,其中包含设置为逻辑值 1 (true) 或逻辑值 0 (false) 的元素。如果 AB(但不是两者同时)在相同的位置包含非零元素,则输出中的对应元素设置为逻辑值 1 (true)。否则,该元素设置为 0

有关按位逻辑 XOR 运算,请参阅 bitxor

示例

全部折叠

xor 创建真值表。

A = [true false]
A = 1x2 logical array

   1   0

B = [true; false]
B = 2x1 logical array

   1
   0

C = xor(A,B)
C = 2x2 logical array

   0   1
   1   0

自 R2023a 开始提供

创建两个表,并对它们执行逻辑异 OR 运算。行名称(如果两者中都存在)和变量名称必须相同,但顺序不必相同。输出的行和变量与第一个输入的顺序相同。

A = table([0;2],[0;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
          V1    V2
          __    __

    R1    0     0 
    R2    2     4 

B = table([4;2],[3;0],VariableNames=["V2","V1"],RowNames=["R2","R1"])
B=2×2 table
          V2    V1
          __    __

    R2    4     3 
    R1    2     0 

xor(A,B)
ans=2×2 table
           V1       V2  
          _____    _____

    R1    false    true 
    R2    false    false

输入参数

全部折叠

操作数,指定为标量、向量、矩阵、多维数组、表或时间表。输入 AB 必须具有相同的大小或具有兼容的大小(例如,A 是一个 M×N 矩阵,B 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小

表或时间表形式的输入必须满足以下条件: (自 R2023a 起)

  • 如果输入是表或时间表,则其所有变量都必须有支持该运算的数据类型。

  • 如果只有一个输入是表或时间表,则另一个输入必须为数值或逻辑数组。

  • 如果两个输入均为表或时间表,则:

    • 两个输入必须具有相同的大小,或其中一个必须为单行表。

    • 两个输入必须有相同名称的变量。但是,每个输入中的变量可以有不同的顺序。

    • 如果两个输入均为表,并且都有行名称,则其行名称必须相同。但是,每个输入中的行名称可以有不同的顺序。

    • 如果两个输入均为时间表,则其行时间必须相同。但是,每个输入中的行时间可以有不同的顺序。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | table | timetable

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。

版本历史记录

在 R2006a 之前推出

全部展开