Approximation (FPScript)

21.09.2021

Approximation d'un modèle linéaire Y(X) à des données spécifiques selon la méthode de l'erreur quadratique minimale.

Syntaxe

Approximation(DataSet, Model)
ou
Approximation(Amplitude, Time, Model)

 

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

Section

Description

DataSet

Le signal ou la série de données pour lesquels l'approximation doit être calculée. 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 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 la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Amplitude

Une série de données avec la composante Y d'un signal. 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é.

Time

Une série de données avec la composante X d'un signal. 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é.

Model

Spécifie la composition de la fonction modèle dont les coefficients sont déterminés par l'approximation. Vous pouvez spécifier des fonctions d'éléments personnalisés ou prédéfinis.

 

La fonction de modèle personnalisé est transmise sous la forme d'une série de chaînes de données. Par exemple, la fonction modèle Y = A + B * X + C * sin(2 * PI * X) est décrite par les séries de données {"1", "X", "sin(2*PI*X)"}.

 

La fonction modèle avec des fonctions d'éléments prédéfinies peut être formée en ajoutant les valeurs suivantes. Par exemple, si la fonction modèle souhaitée est A + B * X + C * X2, puis l'argument Model doit recevoir la valeur APPROX_C + APPROX_X + APPROX_X_2. Approximation calcule ensuite les coefficients inconnus A, B et C afin que la fonction de modèle se rapproche le plus possible du signal spécifié.

Constante

Signification

+ APPROX_C

1

+ APPROX_X

X

+ APPROX_X_2

X2

+ APPROX_X_3

X3

+ APPROX_X_4

X4

+ APPROX_X_5

X5

+ APPROX_X_6

X6

+ APPROX_X_7

X7

+ APPROX_X_8

X8

+ APPROX_X_9

X9

+ APPROX_X_10

X10

+ APPROX_X_11

X11

+ APPROX_X_12

X12

+ APPROX_REC

1/X

+ APPROX_REC2

1/X2

+ APPROX_REC3

1/X3

+ APPROX_SIN

sin(X)

+ APPROX_COS

cos(X)

+ APPROX_TAN

tan(X)

+ APPROX_SINH

sinh(X)

+ APPROX_COSH

cosh(X)

+ APPROX_TANH

tanh(X)

+ APPROX_EXP

eX

+ APPROX_EXP2

eX

+ APPROX_LN

log(X)

+ APPROX_LOG

log10(X)

+ APPROX_POW

10X

+ APPROX_POW2

10X

+ APPROX_SQRT

sqrt(X)

+ APPROX_ROOT3

X1/3

Les structures de données autorisées sont Scalaire et Séries de données. Les types de données pris en charge sont Entier de 16 bits, Entier de 32 bits et Chaîne de caractères.

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

Par conséquent, la fonction renvoie une série de données du type de données Virgule flottante de 64 bits.

Le nombre de valeurs est égal au nombre de fonctions élémentaires de la fonction modèle plus un.

La dernière valeur représente la mesure de la qualité de l'ajustement du Χ2 (Chi-carré). Il s'agit de la somme des carrés de tous les écarts de la fonction de modèle approchée par rapport aux données. Plus le Χ2 est petit, plus la fonction modèle trouvée se rapproche des données. Les autres valeurs des séries de données renvoient les coefficients des fonctions d'éléments utilisées dans la fonction modèle, où l'ordre correspond à celui du tableau ci-dessus.

L'illustration suivante montre les données mesurées d'une courbe caractéristique quadratique et son approximation :

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

Dim _c = Approximation(Signal, APPROX_C + APPROX_X + APPROX_X_2)
Signal(_c[0] + _c[1] * (Signal.X) + _c[2] * (Signal.X)^2., Signal.X)
 

Approximation d'un signal avec une fonction de modèle quadratique.

Dim _c = Approximation(Signal, {"1", "sin(2*PI*X)"})
Signal(_c[0] + _c[1] * sin(2 * PI * Signal.X), Signal.X)
 

Approximation d'un signal avec une fonction de modèle personnalisé Y(X) = A + B * Sin(2*PI*X).

Voir aussi

Fonction Approximation2D

Fonction HarmonicEstimation

Fonction NonLinCurveFit

Objet d'analyse Approximation

Objet d'analyse Approximation 2D

Objet d'analyse Régression

Littérature

[1] "Philip R. Bevington, D. Keith Robinson": "Data Reduction and Error Analysis for the Physical Sciences, 3rd Edition". "McGraw-Hill, New York",2003.ISBN 0-07-247227-8.

Partager l’article ou envoyer par mail :

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