Hauptinhalt

any

Ermitteln, ob eines der Array-Element ungleich null ist

Beschreibung

B = any(A) prüft entlang der ersten Array-Dimension von A, deren Größe nicht 1 ist, und stellt fest, ob irgendein Element eine Zahl ungleich null oder eine logische 1 (true)ist. In der Praxis ist any eine natürliche Erweiterung des logischen OR-Operators.

  • Wenn A ein Vektor ist, gibt B = any(A) dann eine logische 1 (true) zurück, wenn eines der Elemente von A eine Zahl ungleich null oder eine logische 1 ist, und gibt dann eine logische 0 (false) zurück, wenn alle Elemente null sind.

  • Wenn A eine nicht leere, nicht vektorielle Matrix ist, behandelt B = any(A) die Spalten von A als Vektoren und gibt einen Zeilenvektor aus logischen Einsen (1) und Nullen (0) zurück.

  • Wenn A eine leere 0x0-Matrix ist, gibt any(A) eine logische 0 (false) zurück.

  • Wenn A ein mehrdimensionales Array ist, wird any(A) entlang der ersten Array-Dimension angewendet, deren Größe nicht 1 ist, und gibt ein Array aus logischen Werten zurück. Die Größe dieser Dimension wird 1, während alle anderen Dimensionen ihre Größe beibehalten.

Beispiel

B = any(A,'all') prüft alle Elemente von A. Diese Syntax ist für MATLAB®-Versionen R2018b und später gültig.

B = any(A,dim) prüft die Elemente entlang der Dimension dim. Die „dim“-Eingabe ist ein positiver ganzzahliger Skalar.

Beispiel

B = any(A,vecdim) prüft die Elemente basierend auf den im Vektor vecdim angegebenen Dimensionen. Wenn beispielsweise A eine Matrix ist, prüft any(A,[1 2]) alle Elemente von A, da jedes Element einer Matrix in der Array-Schicht enthalten ist, die von den Dimensionen 1 und 2 definiert wird.

Beispiel

Beispiele

alle reduzieren

Erstellen Sie eine 3x3-Matrix.

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

Prüfen Sie jede Spalte auf Elemente, die ungleich null sind.

B = any(A)
B = 1×3 logical array

   0   0   1

Erstellen Sie einen Vektor aus Dezimalwerten und prüfen Sie, welche Werte kleiner als 0,5 sind.

A = [0.53 0.67 0.01 0.38 0.07 0.42 0.69];
B = (A < 0.5)
B = 1×7 logical array

   0   0   1   1   1   1   0

Die Ausgabe ist ein Vektor logischer Werte. Die Funktion any reduziert einen solchen Vektor logischer Werte auf eine einzelne Bedingung. In diesem Fall ergibt B = any(A < 0.5) eine logische 1.

Dadurch ist any bei if-Anweisungen besonders nützlich.

if any(A < 0.5)

%do something

else

%do something else

end

Der Code wird in Abhängigkeit von einer einzelnen Bedingung und nicht von einem Vektor aus möglicherweise widersprüchlichen Bedingungen ausgeführt.

Erstellen Sie ein mehrdimensionales 3x7x5-Array und prüfen Sie, ob eines seiner Elemente größer als 3 ist.

A = rand(3,7,5) * 5;
B = any(A(:) > 3)
B = logical
   1

Sie können das Array auch auf Elemente prüfen, die kleiner als null sind.

B = any(A(:) < 0)
B = logical
   0

Die Syntax A(:) wandelt die Elementen von A in einen einspaltigen Vektor um. Daher können Sie diese Art von Anweisung für ein Array mit beliebiger Größe verwenden.

Erstellen Sie eine 3x3-Matrix.

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

Prüfen Sie die Zeilen von A auf Elemente ungleich null, indem Sie dim = 2 angeben.

B = any(A,2)
B = 3×1 logical array

   1
   1
   1

Erstellen Sie ein 3D-Array und stellen Sie auf jeder Datenseite (Zeilen und Spalten) fest, ob Elemente ungleich null vorhanden sind.

A(:,:,1) = [2 0; 0 0];
A(:,:,2) = [0 0; 0 0];
A(:,:,3) = [0 0; 0 1];
B = any(A,[1 2])
B = 1×1×3 logical array
B(:,:,1) =

   1


B(:,:,2) =

   0


B(:,:,3) =

   1

Eingabeargumente

alle reduzieren

Eingabearray, angegeben als Skalar, Vektor, Matrix oder mehrdimensionales Array. Die Funktion any ignoriert Elemente von A, die keine Zahl (NaN, Not a Number) sind.

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Unterstützung komplexer Zahlen: Ja

Dimension, entlang der die Operation erfolgt, angegeben als positiver ganzzahliger Skalar. Wenn Sie die Dimension nicht angeben, wird standardmäßig die erste Array-Dimension verwendet, deren Größe nicht 1 ist.

Angenommen, es liegt ein zweidimensionales Eingabearray, A, vor:

  • any(A,1) wird für aufeinanderfolgende Elemente in den Spalten von A ausgeführt und gibt einen Zeilenvektor aus logischen Werten zurück.

  • any(A,2) wird für aufeinanderfolgende Elemente in den Zeilen von A ausgeführt und gibt einen Spaltenvektor aus logischen Werten zurück.

any(A,1) column-wise computation and any(A,2) row-wise computation.

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

Vektor aus Dimensionen, angegeben als Vektor positiver Ganzzahlen. Jedes Element stellt eine Dimension des Eingabearray dar. Die Längen der Ausgabe in den angegebenen Ausführungsdimensionen sind gleich 1, während die anderen unverändert bleiben.

Angenommen, es liegt ein 2x3x3-Eingabearray, A, vor. Dann gibt any(A,[1 2]) ein 1x1x3-Array zurück, dessen Elemente Werte ungleich null für jede Seite von A anzeigen.

any(A,[1 2]) collapses the pages of a 2-by-3-by-3 array into a 1-by-1-by-3 array.

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

Ausgabeargumente

alle reduzieren

Logisches Array, zurückgegeben als Skalar, Vektor, Matrix oder mehrdimensionales Array. Die Dimension von A, auf die any angewendet wird, weist in B die Größe 1 auf.

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt vor R2006a