NextValueBelowLevel (FPScript)
Sucht nach dem nächsten Wert, der unter einem bestimmten Pegel liegt.
Syntax
NextValueBelowLevel(DataSet, [ Position ], Level, [ Direction = EVENT_RIGHT ], [ DeltaXmin ] [ , DeltaXmax ])
Die Syntax der NextValueBelowLevel-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
||||||
---|---|---|---|---|---|---|---|
DataSet |
Ist der zu durchsuchende Datensatz. Erlaubte Datenstrukturen sind Datenreihe und Signal. Es sind alle numerischen Datentypen erlaubt. Bei komplexen Datentypen erfolgt eine Betragsbildung. Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste. |
||||||
Position |
Wenn Sie in einem Signal suchen, ist dies der X-Wert, ab dem gesucht werden soll. Der Wert selbst wird in die Suche nicht eingeschlossen. Wenn Sie in einer Datenreihe suchen, dann ist dies der Index des Wertes, ab dem gesucht werden soll. Der Index selbst wird in die Suche nicht eingeschlossen. Ein negativer Index bestimmt hierbei eine Position relativ zum Ende des Datensatzes. Wenn Sie das Argument weglassen oder den Wert Empty übergeben, beginnt die Suche je, nach Suchrichtung, am Anfang oder am Ende des Datensatzes. Der erste bzw. letzte Wert des Datensatzes wird nur berücksichtigt, wenn Sie das Argument weglassen oder den Wert Empty übergeben. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel sein. Bei komplexen Datentypen erfolgt eine Betragsbildung. Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste. |
||||||
Level |
Der Pegel, unter dem der Wert liegen muss. Es werden auch solche Werte gefunden, die genau auf dem Pegel liegen. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel sein. Bei komplexen Datentypen erfolgt eine Betragsbildung. Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste. |
||||||
Direction |
Legt die Suchrichtung der Funktion fest. Das Argument Direction kann folgende Werte haben:
Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert EVENT_RIGHT gesetzt. |
||||||
DeltaXmin |
Legt optional die Zeitdauer bzw. die Werteanzahl fest, die ein Ereignis mindestens andauern muss, um gültig zu sein. Wenn Sie in einem Signal suchen, so entspricht dies dem X-Bereich vom 1. Wert des Ereignisses bis zum letzten Wert des Ereignisses. Wenn Sie in einer Datenreihe suchen, so ist dies die Anzahl an Datenpunkten, die das Ereignis mindestens haben muss. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel sein. Bei komplexen Datentypen erfolgt eine Betragsbildung. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||
DeltaXmax |
Legt optional die Zeitdauer bzw. die Werteanzahl fest, die ein Ereignis höchstens andauern darf, um gültig zu sein. Wenn Sie in einem Signal suchen, so entspricht dies dem X-Bereich vom 1. Wert des Ereignisses bis zum letzten Wert des Ereignisses. Wenn Sie in einer Datenreihe suchen, so ist dies die Anzahl an Datenpunkten, die das Ereignis höchstens haben darf. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel sein. Bei komplexen Datentypen erfolgt eine Betragsbildung. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
Anmerkungen
Das Ergebnis hat immer die Datenstruktur Einzelwert.
Wenn DataSet eine Datenreihe ist, dann ist das Ergebnis der Index des gefundenen Wertes. Ist DataSet ein Signal, dann ist das Ergebnis der X-Wert des gefundenen Y-Wertes. Wenn kein Wert gefunden werden konnte, dann wird der Wert Empty als Ergebnis ausgegeben.
Verfügbarkeit
FlexPro Basic, Professional, Developer Suite
Beispiele
NextValueBelowLevel({2, 3, 4, 3, 2}, , 3) |
Ergibt 0L. Sucht im Datensatz von Anfang an nach rechts den nächsten Wert, der höchstens 3 beträgt. |
NextValueBelowLevel({2, 3, 4, 3, 2}, 0, 3) |
Ergibt 1L. Sucht im Datensatz ab Index 0 nach rechts den nächsten Wert, der höchstens 3 beträgt. Das Ergebnis ist der Index 1, da bei der Position 0 nicht mehr gesucht wird. |
NextValueBelowLevel(Signal, 5.5 s, 0.8 V, EVENT_LEFT) |
Sucht in einem Signal ab der Position X = 5.5 s nach links den nächsten Wert, der höchstens 0.8 V beträgt. Das Ergebnis ist der X-Wert des gefundenen Wertes. |
Signal[[NextValueBelowLevel(Signal, 4.5 s, 0.6 V)]] |
Sucht in einem Signal ab der Position X = 4.5 s nach rechts den nächsten Wert, der höchstens 0.6 V beträgt. Das Ergebnis ist der gefundene Y-Wert. |
NextValueBelowLevel(Datenreihe, 100, 1.2 V) |
Sucht in einer Datenreihe ab der Index-Position 100 nach rechts den nächsten Wert der höchstens den Betrag 1.2 V hat. Das Ergebnis ist der Index des gefundenen Wertes. |