Trend (FPScript)
Ermittelt den konstanten, linearen oder adaptiven Trend eines Datensatzes.
Syntax
Trend(Signal, [ Mode = TREND_CONSTANT ] [ , Parameter = 0 ])
Die Syntax der Trend-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
||||||||
---|---|---|---|---|---|---|---|---|---|
Signal |
Der Datensatz, dessen Trend Sie berechnen möchten. Erlaubte Datenstrukturen sind Datenreihe, Datenmatrix, Signal, Signalreihe und Signalreihe mit zweidimensionaler X-Komponente. Es sind alle numerischen 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. |
||||||||
Mode |
Gibt an, ob ein konstanter, linearer oder adaptiver Trend ermittelt werden soll. Das Argument Mode 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 TREND_CONSTANT gesetzt. |
||||||||
Parameter |
Steuert den Algorithmus für die Berechnung des adaptiven Trends. Wenn positiv und ohne Einheit angegeben, gibt es die Anzahl N der Nachbarn an, die zur Ermittlung des jeweils nächsten Stützpunktes berücksichtigt werden sollen. Wenn mit der Einheit "%" oder negativ angegeben, gibt es die Hysterese in Prozent der Spannweite des Datensatzes an, mit der nach lokalen Maxima gesucht wird, um N automatisch zu bestimmen. Wenn Sie das Argument weglassen oder 0 übergeben, entspricht dies einer Hysterese von 5 %. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. 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. Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert 0 gesetzt. |
Anmerkungen
Das Ergebnis hat die gleiche Struktur und Einheit wie das Argument Signal.
Bei zusammengesetzten Datenstrukturen wird nur die Y-Komponente verrechnet und die X- und ggf. Z-Komponente wird unverändert in das Ergebnis kopiert. Bei Datenmatrizen und Signalreihen wird die Berechnung für jede Spalte bzw. jedes Signal darin durchgeführt. Die Datentypen Kalenderzeit und Zeitspanne bleiben im Ergebnis erhalten. Für alle anderen numerischen Datentypen ist das Ergebnis vom Typ 64-Bit Fließkommazahl.
Bei der Ermittlung des konstanten bzw. linearen Trends wird zunächst der Mittelwert des Signals berechnet und dann der erste und letzte Pegeldurchgang durch diesen Wert gesucht. Wenn zwei Pegeldurchgänge gefunden wurden, dann wird der Mittelwert bzw. die Bestgerade nur für den Bereich zwischen diesen beiden Pegeldurchgängen berechnet. Dies verhindert Fehler, die durch den Phasenanschnitt periodischer Signale an den Enden des Datensatzes auftreten. Wenn keine Pegeldurchgänge gefunden wurden, dann werden alle Werte in die Berechnung einbezogen.
Für die Berechnung des adaptiven Trends werden die obere und untere Hüllkurve des Signals mit dem gleichen Algorithmus berechnet, den auch die Funktionen UpperEnvelope und LowerEnvelope verwenden. Diese Hüllkurven werden dann mittels linearer Interpolation für alle X-Werte des Datensatzes abgetastet. Von diesen beiden Hüllkurven wird anschließend das arithmetische Mittel gebildet.
Verfügbarkeit
FlexPro Basic, Professional, Developer Suite
Beispiele
Trend(Signal(Sin(2. * PI * (1000, 0, 0.01)), (1000, 0, 0.01))) |
Ermittelt einen konstanten Datensatz mit dem Mittelwert des Sinussignals. |