ParametricSpline (FPScript)
Interpoliert einen Datensatz durch eine parametrische Spline-Kurve und tastet diese an vorgebbaren Stellen ab.
Syntax
ParametricSpline(DataSet, N, SamplingMode, [ VX1 = 0 ], [ VXn = 0 ], [ VY1 = 0 ] [ , VYn = 0 ])
Die Syntax der ParametricSpline-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DataSet |
Der Datensatz mit konstantem Abtastintervall, welcher interpoliert wird. Wenn Sie eine Datenreihe angeben, wird die X-Komponente automatisch generiert. Erlaubte Datenstrukturen sind Datenreihe, Datenmatrix, Signal, Signalreihe und Signalreihe mit zweidimensionaler X-Komponente. 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. |
||||||||||||||||||||||
N |
Gibt die Anzahl der Punkte insgesamt bzw. pro X-Intervall an. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle ganzzahligen Datentypen erlaubt. Der Wert muss größer gleich 0 sein. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||||||||||||||||||
SamplingMode |
Gibt an, wie die berechnete Spline-Kurve abgetastet werden soll und welche Randbedingungen verwendet werden. Das Argument SamplingMode kann folgende Werte haben:
...plus einer Konstante, die die Randbedingungen bestimmt.
Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||||||||||||||||||
VX1 |
Bestimmt die X-Randbedingung am Anfang der Spline-Kurve. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle reellen Datentypen erlaubt. 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. |
||||||||||||||||||||||
VXn |
Bestimmt die X-Randbedingung am Ende der Spline-Kurve. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle reellen Datentypen erlaubt. 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. |
||||||||||||||||||||||
VY1 |
Bestimmt die Y-Randbedingung am Anfang der Spline-Kurve. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle reellen Datentypen erlaubt. 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. |
||||||||||||||||||||||
VYn |
Bestimmt die Y-Randbedingung am Ende der Spline-Kurve. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle reellen Datentypen erlaubt. 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 ist immer vom Datentyp 64-Bit Fließkomma.
Das Ergebnis hat die gleiche Einheit wie das Argument DataSet.
Die parametrische Spline-Interpolation kann Signale interpolieren, deren X-Werte weder monoton wachsend noch äquidistant sind. Zur Berechnung der Spline-Funktion werden zunächst Parameterwerte T erzeugt und dann zwei Spline-Interpolationen für x(T) und y(T) durchgeführt. Jede Spline-Kurve besteht aus kubischen Polynomen, die in den Knotenpunkten der Funktion y(T) bzw. x(T) so aneinander gehängt werden, dass ein möglichst glatter Verlauf entsteht. Für die Randbedingungen SPLINE_PERIODIC und SPLINE_PERIODICAPPEND muss der zu interpolierende Datensatz mindestens vier Werte und für alle anderen Randbedingungen mindestens drei Werte enthalten. Vor der Spline-Interpolation werden ungültige Werte in der X- und Y-Komponente durch lineare Interpolation eliminiert.
Eine natürliche Spline-Kurve erhalten Sie mit VX1, VY1, VXn und VYn als 2. Ableitungen gleich Null.
Die folgende Grafik zeigt parametrische Spline-Kurven mit verschiedenen Randbedingungen. Die Werte VX1, VY1, VXn und VYn sind jeweils gleich Null:
Die periodische parametrische Spline-Interpolation erzeugt geschlossene Kurvenzüge. Der Datensatz sollte in diesem Fall am Anfang und am Ende den gleichen Punkt aufweisen. Ist dies nicht der Fall, erzwingt FlexPro die Periodizität, indem entweder der letzte Punkt durch den ersten ersetzt oder indem der erste Punkt an das Ende des Datensatzes angehängt wird.
Die folgende Grafik zeigt eine Schar von periodischen parametrischen Spline-Kurven:
Verfügbarkeit
FlexPro Basic, Professional, Developer Suite
Beispiele
ParametricSpline({0, 1, 0}, 100, SPLINE_EQUIDISTANT)
ParametricSpline({0, 1, 0}, 100, SPLINE_EQUIDISTANT + SPLINE_1DERIVATIVE, 0, 0, -5, 5)
ParametricSpline({0, 1, 0}, 100, SPLINE_EQUIDISTANT + SPLINE_PERIODICAPPEND)
Da der erste und der letzte Punkt nicht identisch sind, wird für die Periodische Spline-Interpolation der erste Punkt an das Ende der Datenreihe angehängt. Damit ergeben sich vier Werte, die interpoliert werden.
Die folgende Grafik zeigt die parametrischen Spline-Kurven der drei Beispiele:
Siehe auch
Analyseobjekt Spline-Interpolation
Analyseobjekt Oberflächeninterpolation
Literatur
[1] "Carl de Boor": "A Practical Guide to Splines, Revised Edition". "Springer-Verlag, New York",2001.ISBN 0-387-95366-3.