Spline (FPScript)
Interpole un ensemble de données avec une courbe spline et échantillonne cette courbe à des points définissables.
Syntaxe
Spline(DataSet, N, SamplingMode, [ V1 = 0 ] [ , Vn = 0 ])
ou
Spline(Amplitude, Time, N, SamplingMode, [ V1 = 0 ] [ , Vn = 0 ])
La syntaxe de la fonction Spline 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 et Signal. 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 et Signal. 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 à 1. 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 :
...plus une constante, qui détermine les conditions limites.
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é. |
||||||||||||||||
V1 |
Détermine la condition limite 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 . |
||||||||||||||||
Vn |
Détermine la condition limite à 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.
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.
La composante Y de l'ensemble de données à interpoler doit contenir au moins 3 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.
Vous obtenez une courbe spline naturelle avec V1 et Vn comme des dérivées secondaires égaux à zéro.
L'illustration suivante montre des courbes spline avec différentes conditions aux limites. Les valeurs V1 et Vn sont respectivement égales à zéro.
Disponible dans
FlexPro Basic, Professional, Developer Suite
Exemples
Spline({0, 1, 0, 0, 1}, 20, SPLINE_EQUIDISTANT)
Il en résulte une courbe spline échantillonnée à équidistance avec 20 valeurs.
Spline({0, 1, 0, 0, 1}, 20, SPLINE_INTERVAL)
Il en résulte une courbe spline avec 81 valeurs.
Spline({0, 1, 0, 0, 1}, 20, SPLINE_EQUIDISTANT + SPLINE_1DERIVATIVE, -5, -5)
Il en résulte une courbe spline échantillonnée à équidistance avec 20 valeurs. La courbe a une pente de -5 sur les bords.
L'illustration suivante montre les courbes de cannelure pour les trois exemples :
Voir aussi
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.