BicubicSpline (FPScript)
Interpoliert einen zweidimensionalen Datensatz durch eine bikubische Spline-Oberfläche und tastet diese an vorgebbaren Stellen ab.
Syntax
BicubicSpline(Surface, NX, NZ, SamplingMode)
oder
BicubicSpline(DataMatrix, LocusX, LocusZ, NX, NZ, SamplingMode)
Die Syntax der BicubicSpline-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
||||||
---|---|---|---|---|---|---|---|
Surface |
Die Datenmatrix oder die Signalreihe mit Z-Komponente mit konstantem Abtastintervall, welche interpoliert wird. Fehlen die X- und Z-Komponenten, so werden sie automatisch generiert. Erlaubte Datenstrukturen sind Datenmatrix und Signalreihe. 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. |
||||||
DataMatrix |
Datenmatrix mit der Y-Komponente der zu interpolierenden Signalreihe. Wenn Sie eine Signalreihe angeben, wird deren Y-Komponente verwendet. Erlaubte Datenstrukturen sind Datenmatrix und Signalreihe. 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. |
||||||
LocusX |
Datenreihe mit der X-Komponente der zu interpolierenden Signalreihe. Wenn Sie ein Signal angeben, wird dessen Y-Komponente verwendet. 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 deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||
LocusZ |
Datenreihe mit der Z-Komponente der zu interpolierenden Signalreihe. Wenn Sie ein Signal angeben, wird dessen Y-Komponente verwendet. 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 deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||
NX |
Gibt die Anzahl der Punkte insgesamt bzw. pro X-Intervall der Signalreihe 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. |
||||||
NZ |
Gibt die Anzahl der Punkte insgesamt bzw. pro Z-Intervall der Signalreihe 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-Oberfläche abgetastet werden soll. Das Argument SamplingMode 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. |
Anmerkungen
Das Ergebnis ist immer vom Datentyp 64-Bit Fließkomma.
Das Ergebnis hat die gleiche Einheit wie das Argument Surface.
Die modellierte Spline-Oberfläche besteht aus bikubischen Polynomen, die so aneinander gehängt werden, dass ein möglichst glatter Verlauf entsteht.
Die Y-Komponente des zu interpolierenden Datensatzes muss mindestens 3 x 3 Werte enthalten.
Im Abtastmodus SPLINE_EQUIDISTANT müssen die X- und Z-Komponente des zu interpolierenden Datensatzes streng monoton wachsend sein. Im Abtastmodus SPLINE_INTERVAL sind dagegen auch streng monoton fallende X- und Z-Werte erlaubt. Vor der Spline-Interpolation werden ungültige Werte in der Y-Datenmatrix durch lineare Interpolation eliminiert.
Die folgenden Grafiken zeigen eine bikubische Spline-Oberfläche und die zugrunde liegenden Daten:
Verfügbarkeit
FlexPro Basic, Professional, Developer Suite
Beispiele
BicubicSpline({{0, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, 0}}, 100, 100, SPLINE_EQUIDISTANT) |
Interpoliert die Datenmatrix durch eine bikubische Spline-Oberfläche. |
Siehe auch
Analyseobjekt Spline-Interpolation
Analyseobjekt Oberflächeninterpolation
Analyseobjekt 2D-Approximation
Literatur
[1] "Hiroshi Akima": "A Method of Bivariate Interpolation and Smooth Surface Fitting Based on Local Procedures". In: "Communications of the ACM, Volume 17, Issue 1, Pages: 18 - 20". 1974.