本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

not, ~

计算逻辑 NOT

语法

说明

示例

~A 返回与 A 大小相同的逻辑数组。如果 A 中元素为零值,则数组中对应元素为逻辑值 1 (true) 值;如果 A 中元素为非零值,则数组中对应元素为逻辑值 0 (false)。

not(A) 是执行 ~A 的替代方法,但很少使用。它可以启用类的运算符重载。

示例

全部折叠

创建一个 3×3 单位矩阵。

A = eye(3)
A = 3×3

     1     0     0
     0     1     0
     0     0     1

A 进行逻辑求反。新矩阵的类型为 logical

B = ~A
B = 3x3 logical array

   0   1   1
   1   0   1
   1   1   0

if 循环的上下文使用逻辑 not 运算符基于条件执行代码。

创建逻辑变量 A

A = false;

使用 A 编写 if/else 代码块。将 if/else 代码块放入 for 循环中,使其执行四次。

for k = 1:4
    if ~A
        disp('IF block')
        A = true;
    else
        disp('ELSE block')
    end
end
IF block
ELSE block
ELSE block
ELSE block

在第一次迭代时,Afalse,所以 ~Atrue,因此 if 块执行。但是,if 块还将 A 的值更改为 true。在剩余迭代中,~Afalse,所以 else 块执行。

输入参数

全部折叠

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

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

提示

  • 您还可以使用 ~ 符号作为函数调用中的占位符输出参数。例如,[~,i] = max(A) 隐藏 max 函数的第一个输出,只返回最大值的索引。有关详细信息,请参阅忽略函数输入

扩展功能

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

在 R2006a 之前推出