Trend (FPScript)

21.09.2021

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:

Konstante

Bedeutung

TREND_CONSTANT

Berechnet einen konstanten Datensatz mit dem Mittelwert des Signals.

TREND_LINEAR

Ermittelt die Bestgerade, d. h. die Gerade für die die Summe der Quadrate der Abweichungen zum Signal minimal ist.

TREND_ADAPTIVE

Berechnet den Mittelwert aus oberer und unterer Hüllkurve.

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.

Siehe auch

Detrend-Funktion

LowerEnvelope-Funktion

UpperEnvelope-Funktion

DCRemovalFilter-Funktion

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren