logical

将数值转换为逻辑值

说明

示例

L = logical( A ) A 转换为一个逻辑值数组。 A 中的任意非零元素都将转换为逻辑值 1 ( true ),零则转换为逻辑值 0 ( false )。复数值和 NaN 不能转换为逻辑值,因此会导致转换错误。

示例

全部折叠

选取数值矩阵的奇数元素。

创建一个数值矩阵。

A = [1 -3 2;5 4 7;-8 1 3];

查找模数 mod(A,2) ,并将其转换为逻辑数组以供进行索引。

L = logical(mod(A,2))
L = 3x3 logical array
   1   1   0
   1   0   1
   0   1   1

如果 A 为奇数,该数组包含逻辑值 1 ( true )。

使用 L 作为逻辑索引来选取 A 的奇数元素。

A(L)
ans = 6×1

结果是一个包含 A 所有奇数元素的向量。

L 使用 NOT 逻辑运算符 ~ ,以查找 A 的偶数元素。

A(~L)
ans = 3×1

输入参数

全部折叠

输入数组,指定为标量、向量、矩阵或多维数组。

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

提示

  • 大多数涉及逻辑数组的算术运算都会返回双精度值。例如,向逻辑数组添加零会返回双精度数组。

  • 此外,还可以使用关系运算符( == < > ~ 等)和 any all isnan isinf isfinite 等函数创建逻辑数组。

扩展功能

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

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

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

版本历史记录

在 R2006a 之前推出

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.

MathWorks

Accelerating the pace of engineering and science