Main Content

logical

Konvertieren numerischer Werte in logische Werte

Beschreibung

Beispiel

L = logical(A) konvertiert A in ein Array logischer Werte. Ein Element ungleich null von A wird in eine logische 1 (true) konvertiert und Nullen werden in eine logische 0 (false) konvertiert. Komplexe Werte und NaNs können nicht in logische Werte konvertiert werden und führen zu einem Konvertierungsfehler.

Beispiele

alle reduzieren

Wählen Sie die Elemente mit ungeraden Zahlen einer numerischen Matrix aus.

Erstellen Sie eine numerische Matrix.

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

Ermitteln Sie den Modul, mod(A,2), und konvertieren Sie ihn in ein logisches Array für die Indizierung.

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

   1   1   0
   1   0   1
   0   1   1

Das Array umfasst die logischen Werte 1 (true), für die A ungerade ist.

Verwenden Sie L als logischen Index, um die ungeraden Elemente von A auszuwählen.

A(L)
ans = 6×1

     1
     5
    -3
     1
     7
     3

Das Ergebnis ist ein Vektor, der alle ungeraden Elemente von A enthält.

Verwenden Sie den logischen NICHT-Operator, ~, für L, um die geraden Elemente von A zu ermitteln.

A(~L)
ans = 3×1

    -8
     4
     2

Eingabeargumente

alle reduzieren

Eingabearray, angegeben als Skalar, Vektor, Matrix oder mehrdimensionales Array.

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char

Tipps

  • Die meisten arithmetischen Operationen mit logischen Arrays geben doppelte Werte zurück. Beispielsweise wird durch Hinzufügen von null zu einem logischen Array ein doppeltes Array zurückgegeben.

  • Logische Arrays werden auch durch relationale Operatoren (==, <, >, ~= usw.) und Funktionen wie any, all, isnan, isinf und isfinite erzeugt.

Erweiterte Fähigkeiten

C/C++ Codegenerierung
Generieren Sie C und C++ Code mit MATLAB® Coder™.

GPU-Codegenerierung
Generieren von CUDA® Code für NVIDIA® Grafikprozessoren mit dem GPU Coder™.

HDL-Codegenerierung
Generieren von VHDL, Verilog und SystemVerilog Code für FPGA- und ASIC-Designs mit HDL Coder™.

Versionsverlauf

Eingeführt vor R2006a