CompensatingSpline2D (FPScript)

21.09.2021

Interpoliert einen zweidimensionalen Datensatz durch ein Gitter von ausgleichenden Spline-Kurven und tastet diese an vorgebbaren Stellen ab.

Syntax

CompensatingSpline2D(Surface, NX, NZ, SamplingMode, Weighting)
oder
CompensatingSpline2D(DataMatrix, LocusX, LocusZ, NX, NZ, SamplingMode, Weighting)

 

Die Syntax der CompensatingSpline2D-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.

SPLINE_INTERVAL

N Werte pro ursprünglichem X-Intervall. Die Werteanzahl des Ergebnisses ist (NumberOfRows(DataSet) - 1) * N + 1.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Weighting

Gibt das Maß des Ausgleichs für die Spline-Oberfläche an. Werte nahe Null ergeben eine Ebene, sehr große Werte eine Natürliche Spline-Oberfläche.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle reellen 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.

Anmerkungen

Das Ergebnis ist immer vom Datentyp 64-Bit Fließkomma.

Das Ergebnis hat die gleiche Einheit wie das Argument Surface.

Zunächst wird für jede Zeile des durch die Y-Komponente des Datensatzes aufgespannten Gitters eine ausgleichende Spline-Kurve modelliert und an den gewünschten Z-Positionen ausgewertet. Eine solche Spline-Kurve besteht aus kubischen Polynomen, die so aneinander gehängt werden, dass ein möglichst glatter Verlauf entsteht. Anschließend wird für jede Spalte der so berechneten Datenmatrix eine Spline-Kurve modelliert und an den gewünschten X-Positionen ausgewertet. Die Polynome gehen bei der approximierenden Spline-Funktion nicht zwingend durch die Punkte des Datensatzes, sondern gleichen diese aus. Das Maß des Ausgleichens kann von der Natürlichen Spline-Oberfläche, die durch die Punkte geht, bis zur bestapproximierenden Ebene variiert werden. Vor jeder Spline-Interpolation werden ungültige Werte in den Zeilen bzw. Spalten durch lineare Interpolation eliminiert. Die Y-Komponente des zu interpolierenden Datensatzes muss mindestens 3 x 3 Werte enthalten und die X- und Z-Komponente müssen streng monoton wachsend sein.

Die folgenden Grafiken zeigen zwei ausgleichende 2D-Spline-Oberflächen mit verschiedenen Wichtungen und die zugrunde liegenden Daten:

Verfügbarkeit

FlexPro Basic, Professional, Developer Suite

Beispiele

CompensatingSpline2D({{0, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, 0}}, 100, 100, SPLINE_EQUIDISTANT, 1000)
 

Interpoliert die Datenmatrix durch ein Gitter von ausgleichenden Spline-Kurven mit hoher Wichtung.

Siehe auch

Clip2D-Funktion

BicubicSpline-Funktion

CompensatingSpline-Funktion

GriddedSurface-Funktion

ParametricSpline-Funktion

PeriodicSpline-Funktion

ScatteredSurface-Funktion

Spline-Funktion

Spline2D-Funktion

Analyseobjekt Spline-Interpolation

Analyseobjekt Oberflächeninterpolation

Analyseobjekt 2D-Approximation

Literatur

[1] "Carl de Boor": "A Practical Guide to Splines, Revised Edition". "Springer-Verlag, New York",2001.ISBN 0-387-95366-3.

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren