BicubicSpline (FPScript)

21.09.2021

Interpole un ensemble de données bidimensionnelles à partir une surface spline bicubique et échantillonne cette surface spline à des points définissables.

Syntaxe

BicubicSpline(Surface, NX, NZ, SamplingMode)
ou
BicubicSpline(DataMatrix, LocusX, LocusZ, NX, NZ, SamplingMode)

 

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

Section

Description

Surface

La matrice de données ou série de signaux avec une composante Z et un intervalle d'échantillonnage constant, qui est interpolée. Si les composantes X et Z sont manquantes, elles seront générées automatiquement.

Les structures de données autorisées sont Matrice de données et Série de signaux. 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.

DataMatrix

Matrice de données avec la composante Y de la série de signaux à interpoler. Si vous spécifiez une série de signaux, alors sa composante Y est utilisée.

Les structures de données autorisées sont Matrice de données et Série de signaux. 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é.

LocusX

Séries de données avec la composante X de la série de signaux à 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 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é.

LocusZ

Séries de données avec la composante Z de la série de signaux à 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 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é.

NX

Spécifie le nombre total de points ou par intervalle X de la série de signaux.

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

NZ

Spécifie le nombre total de points ou par intervalle Z de la série de signaux.

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 surface spline calculée doit être échantillonnée.

L'argument SamplingMode peut avoir les valeurs suivantes :

Constante

Signification

SPLINE_EQUIDISTANT

N valeurs échantillonnées à équidistance. Le nombre de valeurs du résultat est NX * NZ.

SPLINE_INTERVAL

N valeurs par intervalle original X et Z. Le nombre de valeurs du résultat est ((NumberOfRows(Surface) - 1) * NX + 1) * ((NumberOfColumns(Surface) - 1) * NZ + 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é.

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

Une surface spline modélisée se compose de polynômes bicubes qui sont ajoutés les uns aux autres pour fournir la variation le plus lisse possible.

La composante Y de l'ensemble de données à interpoler doit contenir au moins 3 x 3 valeurs.

En mode d'échantillonnage SPLINE_EQUIDISTANTSi l'on veut que les données soient interpolées, les composantes X et Z de l'ensemble de données à interpoler doivent être strictement croissantes. En mode d'échantillonnage SPLINE_INTERVALCependant, des valeurs X et Z strictement décroissantes sont également autorisées. Avant l'interpolation spline, les valeurs invalides (void) dans la matrice de données Y sont éliminées par interpolation linéaire.

Les illustrations suivantes montrent une surface spline bicubique et les données sur lesquelles elle est basée :

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

BicubicSpline({{0, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, 0}}, 100, 100, SPLINE_EQUIDISTANT)

Interpolation de la matrice de données par une surface spline bicubique.

Voir aussi

Fonction Clip2D

Fonction CompensatingSpline

Fonction CompensatingSpline2D

Fonction GriddedSurface

Fonction ParametricSpline

Fonction PeriodicSpline

Fonction ScatteredSurface

Fonction Spline

Fonction Spline2D

Objet d'analyse Interpolation Spline

Objet d'analyse Interpolation de surface

Objet d'analyse Approximation 2D

Littérature

[1] "Hiroshi Akima": "A Method of Bivariate Interpolation and Smooth Surface Fitting Based on Local Procedures". Dans: "Communications of the ACM, Volume 17, Issue 1, Pages: 18 - 20". 1974.

Partager l’article ou envoyer par mail :

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