PeriodicSpline (FPScript)

21.09.2021

Interpole un ensemble de données en utilisant une courbe spline périodique et échantillonne la courbe spline à des points définissables.

Syntaxe

PeriodicSpline(DataSet, N, SamplingMode)
ou
PeriodicSpline(Amplitude, Time, N, SamplingMode)

 

La syntaxe de la fonction PeriodicSpline 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.

Amplitude

La composante Y du signal à interpoler. Si vous spécifiez un signal, alors sa composante Y est utilisée.

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 son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Time

La composante X du signal à interpoler. Si vous spécifiez un signal, alors sa composante Y est utilisée.

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 son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

N

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

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_PERIODICAPPEND

Le signal à interpoler doit être périodique, c'est-à-dire que la dernière valeur de la composante Y doit être égale à la première valeur. Si ce n'est pas le cas, FlexPro force la périodicité en utilisant l'une des deux méthodes suivantes :

Si vous ajoutez cette constante, alors, s'il n'y a pas de périodicité, la première valeur est ajoutée à la fin de DataSet. La valeur X du dernier point original plus la différence entre la dernière et l'avant-dernière valeur X est utilisée comme valeur X pour ce point supplémentaire.

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é.

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.

Une courbe spline est constituée de polynômes cubiques qui sont ajoutés les uns aux autres pour fournir une variation aussi lisse que possible. Pour la courbe spline périodique, les conditions limites sont fixées de manière à ce que la courbe spline corresponde à gauche et à droite en termes de gradient et de courbure.

La composante Y de l'ensemble de données à interpoler doit contenir au moins quatre valeurs, et la composante X doit être strictement croissante. Si ce n'est pas le cas (par exemple, avec un lieu géométrique), vous devez alors utiliser la fonction ParametricSpline. Les valeurs X, cependant, ne doivent pas être équidistantes. Avant l'interpolation spline, les valeurs invalides (void) dans la composante Y sont éliminées par interpolation linéaire.

L'illustration suivante montre la différence entre une courbe spline périodique et une courbe spline naturelle :

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

PeriodicSpline({0, 1, 0, 0, 1}, 20, SPLINE_EQUIDISTANT)

Il en résulte une courbe spline échantillonnée à équidistance avec 20 valeurs.

PeriodicSpline({0, 1, 0, 0, 1}, 20, SPLINE_INTERVAL)

Il en résulte une courbe spline avec 81 valeurs.

PeriodicSpline({0, 1, 0, 0, 1}, 20, SPLINE_EQUIDISTANT+SPLINE_PERIODICAPPEND)

Il en résulte une courbe spline périodique échantillonnée à équidistance avec 20 valeurs.

L'illustration suivante montre les courbes spline périodiques pour les trois exemples :

Voir aussi

Fonction BicubicSpline

Fonction CompensatingSpline

Fonction CompensatingSpline2D

Fonction ParametricSpline

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 :