Main Content

not, ~

構文

説明

~A は、A と同じサイズの logical 配列または logical 値の table を返します。この出力は、A の要素がゼロのときに logical 1 (true)、A の要素が非ゼロのときに logical 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 演算子を使用して、条件に基づいてコードを実行します。

logical 変数 A を作成します。

A = false;

A を使用して if/else コード ブロックを作成します。if/else ブロックを for ループで囲み、4 回実行されるようにします。

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

1 回目の反復では、Afalse であるため、~Atrue になり if ブロックが実行されます。ただし、if ブロックは A の値を true に変更します。残りの反復では、~Afalse であるため、else ブロックが実行されます。

R2023a 以降

table を作成し、その論理 NOT を実行します。table または timetable の論理 NOT を実行するには、そのすべての変数のデータ型で論理演算がサポートされている必要があります。

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

    R1    0     0 
    R2    2     4 

~A
ans=2×2 table
           V1       V2  
          _____    _____

    R1    true     true 
    R2    false    false

入力引数

すべて折りたたむ

入力配列。数値スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | table | timetable
複素数のサポート: あり

ヒント

  • ~ 記号は、関数呼び出しのプレースホルダー出力引数として使用することもできます。たとえば、[~,i] = max(A) は関数 max の最初の出力を抑制し、最大値のインデックスのみを返します。詳細については、関数定義の入力の無視を参照してください。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。

バージョン履歴

R2006a より前に導入

すべて展開する