or, |
计算逻辑或
说明
示例
查找矩阵中的零值
求两个矩阵的逻辑或。如果其中一个矩阵的元素为非零值,则结果中的对应元素为逻辑值 1
(true
)。结果中的零值表示在这些点上两个数组的值都为零。
A = [5 7 0; 0 2 9; 5 0 0]
A = 3×3
5 7 0
0 2 9
5 0 0
B = [6 6 0; 1 3 5; -1 0 0]
B = 3×3
6 6 0
1 3 5
-1 0 0
A | B
ans = 3x3 logical array
1 1 0
1 1 1
1 0 0
逻辑或的真值表
为 or
创建真值表。
A = [true false]
A = 1x2 logical array
1 0
B = [true; false]
B = 2x1 logical array
1
0
C = A|B
C = 2x2 logical array
1 1
1 0
表的逻辑或运算
自 R2023a 开始提供
创建两个表,并对它们执行逻辑或运算。行名称(如果两者中都存在)和变量名称必须相同,但顺序不必相同。输出的行和变量与第一个输入的顺序相同。
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
A | B
ans=2×2 table
V1 V2
_____ _____
R1 false true
R2 true true
输入参数
A
, B
— 操作数
标量 | 向量 | 矩阵 | 多维数组 | 表 | 时间表
操作数,指定为标量、向量、矩阵、多维数组、表或时间表。输入 A
和 B
必须具有相同的大小或具有兼容的大小(例如,A
是一个 M
×N
矩阵,B
是标量或 1
×N
行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
表或时间表形式的输入必须满足以下条件: (自 R2023a 起)
如果输入是表或时间表,则其所有变量都必须有支持该运算的数据类型。
如果只有一个输入是表或时间表,则另一个输入必须为数值或逻辑数组。
如果两个输入均为表或时间表,则:
两个输入必须具有相同的大小,或其中一个必须为单行表。
两个输入必须有相同名称的变量。但是,每个输入中的变量可以有不同的顺序。
如果两个输入均为表,并且都有行名称,则其行名称必须相同。但是,每个输入中的行名称可以有不同的顺序。
如果两个输入均为时间表,则其行时间必须相同。但是,每个输入中的行时间可以有不同的顺序。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| table
| timetable
提示
可将几个逻辑运算链接起来,例如
A & B | C
。符号
|
和||
在 MATLAB® 中执行不同的运算。在此介绍的按元素 OR 运算符是|
。短路 OR 运算符是||
。当在
if
或while
循环表达式的上下文(并且仅在该上下文中)使用按元素&
和|
运算符时,这些运算符使用短路来计算表达式的结果。否则,必须指定&&
或||
才能选择加入短路行为。有关详细信息,请参阅Short-Circuit AND
和Short-Circuit OR
。
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
or
函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
or
函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray
(Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出R2023a: 直接对表和时间表执行运算
or
运算符支持直接对表和时间表执行运算,无效通过索引访问其变量。所有变量都必须具有支持该运算的数据类型。有关详细信息,请参阅Direct Calculations on Tables and Timetables。
R2016b: 隐式扩展更改会影响运算符的参量
从 R2016b 开始增加了隐式扩展,以前返回错误的基本运算的一些参量组合现在能够生成结果。例如,以前无法对行和列向量执行加法运算,但现在这些操作数对加法运算是有效的。换句话说,[1 2] + [1; 2]
之类的表达式以前会返回大小不匹配错误,但现在可以正常执行了。
如果您的代码使用按元素运算符并依赖 MATLAB 以前对不匹配大小返回的错误,尤其是在 try
/catch
块内,那么您的代码可能不再捕获这些错误。
有关基本数组运算要求的输入大小的详细信息,请参阅基本运算的兼容数组大小。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:United States。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)