Contenuto principale

not, ~

Trovare il NOT logico

Sintassi

Descrizione

~A restituisce un array logico o una tabella di valori logici della stessa dimensione di A. L'output contiene valori 1 (true) logici dove A è zero e valori 0 (false) logici dove A è diverso da zero.

esempio

not(A) è un modo alternativo per eseguire ~A, ma è utilizzato di rado. Consente il sovraccarico degli operatori per le classi.

Esempi

comprimi tutto

Creare una matrice di identità 3x3.

A = eye(3)
A = 3×3

     1     0     0
     0     1     0
     0     0     1

Trovare la negazione logica di A. La nuova matrice è di tipo logical.

B = ~A
B = 3×3 logical array

   0   1   1
   1   0   1
   1   1   0

Eseguire il codice in base a una condizione utilizzando l'operatore logico NOT nel contesto di un if loop.

Creare una variabile logica A.

A = false;

Utilizzare A per scrivere un blocco di codice if/else. Avvolgere il blocco if/else in un for loop in modo che venga eseguito quattro volte.

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

Nella prima iterazione, A è false, quindi il blocco if viene eseguito poiché ~A è true. Tuttavia, il blocco if modifica anche il valore di A in true. Nelle iterazioni rimanenti, ~A è false e il blocco else viene eseguito.

Dalla release R2023a

Creare una tabella ed eseguire un NOT logico. Per eseguire un NOT logico su una tabella o un orario, i tipi di dato di tutte le sue variabili devono supportare le operazioni logiche.

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

Argomenti di input

comprimi tutto

Array di input, specificato come scalare numerico, vettore, matrice, array multidimensionale, tabella o orario.

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | table | timetable
Supporto numeri complessi:

Suggerimenti

  • È anche possibile utilizzare il simbolo ~ come argomento di output segnaposto in una chiamata di funzione. Ad esempio, [~,i] = max(A) sopprime il primo output della funzione max, restituendo solo gli indici dei valori massimi. Per maggiori informazioni sulla soppressione degli argomenti delle funzioni, vedere Ignore Inputs in Function Definitions e Omissione degli output della funzione.

Funzionalità estese

espandi tutto

Generazione di codice C/C++
Genera codice C e C++ con MATLAB® Coder™.

Generazione di codice GPU
Genera codice CUDA® per GPU NVIDIA® con GPU Coder™.

Generazione di codice HDL
Genera codice VHDL, Verilog e SystemVerilog per progetti FPGA e ASIC utilizzando HDL Coder™.

Cronologia versioni

Introduzione prima di R2006a

espandi tutto