IndexSegments (FPScript)
Sucht nach Segmentanfängen und/oder -enden in einer Indexdatenreihe.
Syntax
IndexSegments(Index, [ Orientation = SEGMENT_BOTH ] [ , MinSize = 2 ])
Die Syntax der IndexSegments-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
||||||||
---|---|---|---|---|---|---|---|---|---|
Index |
Eine Datenreihe mit aufsteigenden Indizes. Erlaubte Datenstrukturen sind Datenreihe. Es sind alle reellen Datentypen erlaubt. Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste. |
||||||||
Orientation |
Gibt an, ob nach Segment-Anfängen, Segment-Enden oder beidem gesucht werden soll. Das Argument Orientation 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 SEGMENT_BOTH gesetzt. |
||||||||
MinSize |
Gibt die minimale Segmentgröße an. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle reellen Datentypen erlaubt. Der Wert muss größer gleich 1 sein. 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 2 gesetzt. |
Anmerkungen
Ein Segment ist ein lückenlos aufsteigende Folge von Indizes. Ein Index ist ein Segmentanfang, wenn er keinen lückenlos anschließenden Vorgänger hat. Ein Index ist ein Segmentende, wenn er keinen lückenlos anschließenden Nachfolger hat. Es werden nur Segmente mit der mit dem Argument MinSize angegebenen Mindestanzahl von Indizes ausgegeben.
Wenn MinSize gleich 1 ist, dann werden vereinzelte Indizes ebenfalls ausgegeben. Diese werden jedoch nur einmal ausgegeben, obwohl diese dann einen Segmentanfang und ein Segmentende darstellen.
Verfügbarkeit
FlexPro Basic, Professional, Developer Suite
Beispiele
IndexSegments({5, 6, 7, 10, 15, 16}) |
Ergibt {5L, 7L, 15L, 16L}. Bitte beachten Sie, dass die 10 nicht ausgegeben wird, weil die Mindestsegmentgröße 2 ist. |
IndexSegments({5, 6, 7, 10, 15, 16}, SEGMENT_BOTH, 1) |
Ergibt {5L, 7L, 10L, 15L, 16L}. In diesem Fall wird die 10 ausgegeben, aber nur einmal. |
ExtractSegments(Signal, IdxSegments(ValuesAboveLevel(Signal, 2))) |
Liefert eine Liste mit den Signalabschnitten, die über dem Pegel von 2 liegen. |