ParametricSpline (FPScript)

21.09.2021

Interpolation d'un ensemble de données par une courbe spline paramétrique et échantillonnage de celle-ci en des points définissables.

Syntaxe

ParametricSpline(DataSet, N, SamplingMode, [ VX1 = 0 ], [ VXn = 0 ], [ VY1 = 0 ] [ , VYn = 0 ])

 

La syntaxe de la fonction ParametricSpline se compose des éléments suivants :

Section

Description

DataSet

L'ensemble de données avec un intervalle d'échantillonnage constant, qui est interpolé. Si vous spécifiez une série de données, la composante X sera générée automatiquement.

Les structures de données autorisées sont Séries de données, Matrice de données, Signal, Série de signaux et Série de signaux avec composante X bidimensionnelle. Tous les types de données numériques sont autorisés.

Pour les types de données complexes, un nombre est formé.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

N

Spécifie le nombre total de points ou par intervalle de X.

Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés.

La valeur doit être supérieure ou égale à 0.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

SamplingMode

Spécifie comment la courbe spline calculée doit être échantillonnée et quelles conditions limites sont utilisées.

L'argument SamplingMode peut avoir les valeurs suivantes :

Constante

Signification

SPLINE_EQUIDISTANT

N valeurs échantillonnées à équidistance.

SPLINE_INTERVAL

N valeurs par intervalle X initial. Le nombre de valeurs du résultat est (NumberOfRows(DataSet) - 1) * N + 1.

...plus une constante, qui détermine les conditions limites.

Constante

Signification

+ SPLINE_NOTAKNOT

Condition limite "Not-A-Knot" (VX1, VY1, VXn et VYn sont ignorées).

+ SPLINE_1DERIVATIVE

VX1, VY1, VXn et VYn sont interprétés comme la première dérivée de x(T) ou de y(T) dans le premier ou le dernier nœud.

+ SPLINE_2DERIVATIVE

VX1, VY1, VXn et VYn sont interprétés comme la dérivée seconde de x(T) ou de y(T) dans le premier ou le dernier nœud.

+ SPLINE_3DERIVATIVE

VX1, VY1, VXn et VYn sont interprétés comme la troisième dérivée de x(T) ou de y(T) dans le premier ou le dernier nœud.

+ SPLINE_YXDERIVATIVE

VX1 ou VXn est interprété comme la dérivée de y(x) dans le premier ou le dernier nœud. VY1 et VYn sont ignorées dans ce cas.

+ SPLINE_PERIODIC

Interpolation spline périodique ; le premier et le dernier point de l'ensemble de données doivent être identiques dans ce cas. Si ce n'est pas le cas, le dernier point est ignoré et le premier est utilisé à cet endroit à la place. Les valeurs VX1, VXn, VY1 et VYn sont ignorées.

+ SPLINE_PERIODICAPPEND

Interpolation périodique des splines. Si le premier et le dernier point de l'ensemble de données ne sont pas identiques, le premier point est alors annexé à la fin de DataSet dans ce cas. Les valeurs VX1, VXn, VY1 et VYn sont ignorées.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

VX1

Détermine la condition limite X au début de la courbe spline.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 0 .

VXn

Détermine la condition limite X à la fin de la courbe spline.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 0 .

VY1

Détermine la condition limite Y au début de la courbe spline.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 0 .

VYn

Détermine la condition limite Y à la fin de la courbe spline.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 0 .

Remarques

Le résultat est toujours du type de données Virgule flottante de 64 bits.

Le résultat a la même unité que l'argument DataSet.

L'interpolation paramétrique par spline permet d'interpoler des signaux dont les valeurs X ne sont ni croissantes ni équidistantes. Pour calculer la fonction spline, les valeurs des paramètres T sont d'abord générées, puis deux interpolations spline sont effectuées pour x(T) et y(T). Chaque courbe spline est constituée de polynômes cubiques, qui sont ajoutés les uns aux autres dans les nœuds de la fonction y(T) ou x(T) pour fournir le parcours le plus lisse possible. Pour les conditions limites SPLINE_PERIODIC et SPLINE_PERIODICAPPEND , l'ensemble de données à interpoler doit contenir au moins quatre valeurs, et pour toutes les autres conditions limites, il doit contenir au moins trois valeurs. Avant l'interpolation spline, les valeurs invalides (void) dans les composantes X et Y sont éliminées par interpolation linéaire.

Vous obtenez une courbe spline naturelle avec VX1, VY1, VXn et VYn comme des dérivés secondaires égaux à zéro.

L'illustration suivante montre des courbes splines paramétriques avec différentes conditions aux limites : Les valeurs VX1, VY1, VXn et VYn sont chacune égales à zéro :

L'interpolation paramétrique périodique par spline génère des courbes fermées. Dans ce cas, l'ensemble de données devrait avoir le même point au début et à la fin. Si ce n'est pas le cas, FlexPro force la périodicité en remplaçant le dernier point par le premier ou en ajoutant le premier point à la fin de l'ensemble de données.

L'illustration suivante montre une famille de courbes splines paramétriques périodiques :

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

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)
 

Comme le premier et le dernier point ne sont pas identiques, le premier point est annexé à la fin des séries de données pour l'interpolation spline périodique. Il y a donc quatre valeurs qui sont interpolées.

L'illustration suivante montre les courbes spline paramétriques pour les trois exemples :

Voir aussi

Fonction BicubicSpline

Fonction CompensatingSpline

Fonction CompensatingSpline2D

Fonction PeriodicSpline

Fonction Spline

Fonction Spline2D

Objet d'analyse Interpolation Spline

Objet d'analyse Interpolation de surface

Littérature

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

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :