BicubicSpline (FPScript)

21.09.2021

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:

Konstante

Bedeutung

SPLINE_EQUIDISTANT

N Werte äquidistant abgetastet. Die Werteanzahl des Ergebnisses ist NX * NZ.

SPLINE_INTERVAL

N Werte pro ursprünglichem X- und Z-Intervall. Die Werteanzahl des Ergebnisses ist ((NumberOfRows(Surface) - 1) * NX + 1) * ((NumberOfColumns(Surface) - 1) * NZ + 1).

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

Clip2D-Funktion

CompensatingSpline-Funktion

CompensatingSpline2D-Funktion

GriddedSurface-Funktion

ParametricSpline-Funktion

PeriodicSpline-Funktion

ScatteredSurface-Funktion

Spline-Funktion

Spline2D-Funktion

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.

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren