Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

crossing

Erkennen von steigenden oder fallenden Kanten in Daten seit dem letzten Zeitschritt im Stateflow-Diagramm

Seit R2021b

Beschreibung

tf = crossing(expression) gibt 1 (true) zurück, falls:

  • Der vorherige Wert von expression war positiv und sein aktueller Wert ist null oder negativ.

  • Der vorherige Wert von expression war null und der aktuelle Wert ist ungleich null.

  • Der vorherige Wert von expression war negativ und sein aktueller Wert ist Null oder positiv.

Anderenfalls gibt der Operator 0 (false) zurück. Wenn sich der Wert von expression in drei aufeinanderfolgenden Zeitschritten von positiv zu null zu negativ oder von negativ zu null zu positiv ändert, erkennt der Operator eine einzelne Kante, wenn der Wert von expression zu null wird.

Das Argument expression:

  • Muss ein skalarwertiger Ausdruck sein

  • Kann Diagrammeingangsdaten, Konstanten, nicht optimierbare Parameter, zeitkontinuierliche lokale Daten und Zustandsdaten von Simulink®-basierten Zuständen kombinieren

  • Kann Addition, Subtraktion und Multiplikation von skalaren Variablen, Elementen einer Matrix, Feldern in einer Struktur oder jeder gültigen Kombination von Strukturfeldern und Matrixelementen umfassen

Indizieren Sie Elemente einer Matrix mit Hilfe von Zahlen oder Ausdrücken, die zu einer konstanten Ganzzahl ausgewertet werden.

Beispiel

Hinweis

Die Kantenerkennung wird nur in Stateflow®-Diagrammen in Simulink-Modellen unterstützt.

Beispiele

alle erweitern

Wechseln Sie aus dem Zustand, wenn der Wert der Eingabedaten signal einen Schwellenwert von 2,5 überschreitet.

[crossing(signal-2.5)]

Stateflow chart that uses the crossing operator in a transition.

Die Kante wird erkannt, wenn der Wert des Ausdrucks signal-2.5 Null wird oder das Vorzeichen wechselt.

Tipps

  • Sie können den Operator crossing nicht in einem Simulink-Modell verwenden, das Code mit einem zeilendominierten Array-Layout generiert. Weitere Informationen zum zeilendominierten Layout finden Sie unter Select Array Layout for Matrices in Generated Code.

  • Der Operator crossing imitiert das Verhalten eines Trigger (Simulink)-Blocks, wenn Trigger Type auf either gesetzt ist.

  • Die Kantenerkennung für zeitkontinuierliche lokale Daten und Zustandsdaten von Simulink-basierten Zuständen wird nur unter Übergangsbedingungen unterstützt.

  • Ordnen Sie in atomaren Unterdiagrammen alle Eingangsdaten, die Sie in Ausdrücken zur Kantenerkennung verwenden, den Eingangsdaten oder nicht optimierbaren Parametern im Hauptdiagramm zu. Das Zuordnen dieser Eingangsdaten zu Ausgangsdaten, lokalen Daten oder optimierbaren Parametern kann zu einem undefinierten Verhalten führen.

Versionsverlauf

Eingeführt in R2021b