splinefit (fonction du module MathScript RT)

Aide du module LabVIEW 2012 MathScript RT

Date d'édition : June 2012

Numéro de référence : 373123C-0114

»Afficher les infos sur le produit
Télécharger l'aide (Windows uniquement)

Classe propriétaire : approximation

Requiert : Module MathScript RT

Syntaxe

bestfit = splinefit(x, y)

bestfit = splinefit(x, y, balance)

bestfit = splinefit(x, y, balance, weights)

Ancien nom : csaps

Description

Renvoie l'ajustement de courbe des données en utilisant une méthode de spline cubique pondérée avec un paramètre d'équilibrage qui vous permet de faire un compromis entre le lissage et la précision de l'ajustement.

Détails

Exemples

Entrées

Nom Description
x Spécifie les valeurs indépendantes. x est un vecteur double précision réel.
y Spécifie les valeurs dépendantes. y est un vecteur double précision réel.
balance Spécifie l'équilibre entre le lissage de l'ajustement de spline cubique et la précision avec lequel il correspond aux observations. balance doit se trouver dans la gamme [0, 1]. Si balance est 0, l'ajustement de spline cubique équivaut à un ajustement linéaire. Si balance est 1, l'ajustement de spline cubique effectue une interpolation entre les points de données. Si balance se trouve en dehors de la gamme [0, 1], LabVIEW calcule automatiquement une valeur appropriée pour l'équilibrage en fonction des valeurs de x.
weights Spécifie les pondérations pour les observations (y, x). weights est un tableau. size(weights) doit être égal à size(x). Si vous ne spécifiez pas weights, LabVIEW définit tous les éléments de weights à 1. Si un élément de weights est inférieur à 0, LabVIEW utilise la valeur absolue de l'élément.

Sorties

Nom Description
bestfit Renvoie les valeurs de la courbe ajustée évaluées par LabVIEW aux points de x. bestfit est un vecteur double précision réel.

Détails

Ce VI minimise la fonction suivante pour l'ajuster aux observations (x, y) :

p*sum{w[i]*(y[i] - f(x[i]))^2, i = 0, n-1} + (1 - p)*integral{f''(x)^2(dx), x[0], x[n-1]}

p étant le paramètre de balance, w[i] le i-ème élément de weights, y[i] le i-ème élément de y, x[i] étant le i-ème élément de x, integral{f''(x)^2(dx), x[0], x[n-1]} calculant une intégrale définie de f''(x) avec une limite inférieure de x[0] et une limite supérieure de x[n-1] et f''(x) étant la dérivée seconde de la fonction spline cubique, f(x).

Si p est égal à 0, le modèle ajusté est équivalent à un modèle linéaire. Si p est égal à 1., l'ajustement est équivalent à une interpolation de spline cubique. Pour que la courbe ajustée soit proche des observations et lisse, p doit se trouver dans la gamme [0, 1]. Plus p est proche de 0, plus la courbe ajustée est lisse. Plus p est proche de 1, plus la courbe ajustée se rapproche des observations.

Le tableau suivant répertorie les caractéristiques de support de cette fonction.

Supportée par le moteur d'exécution LabVIEW Oui
Supportée sur les cibles RT Oui
Compatible avec les durées d'exécution limitées sur RT Non caractérisée

Exemples

X = 0:6;
Y = [pi/2, 0, 1, 0, -1, 0, pi/2];
XX = 0:0.1:6;
YY = spline(X, Y, XX);
YY = YY + 0.2*rand(1, length(YY));

fitY1 = splinefit(XX, YY, 0.7);
fitY2 = splinefit(XX, YY, 0.98);

plot(X, Y, 'o', XX, YY, '-', XX, fitY1, '-', XX, fitY2, '-')

Rubriques apparentées

fit
spline

CET ARTICLE VOUS A-T-IL ÉTÉ UTILE ?

Pas utile