lsqfit (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

x = lsqfit(fun, a0, xdata, ydata)

x = lsqfit(fun, a0, xdata, ydata, lb, ub)

[x, normres] = lsqfit(fun, a0, xdata, ydata)

[x, normres] = lsqfit(fun, a0, xdata, ydata, lb, ub)

[x, normres, resid] = lsqfit(fun, a0, xdata, ydata)

[x, normres, resid] = lsqfit(fun, a0, xdata, ydata, lb, ub)

Ancien nom : lsqcurvefit

Description

Utilise la méthode des moindres carrés pour calculer la solution à un problème d'ajustement de courbe non linéaire.

Détails

Exemples

Entrées

Nom Description
fun Spécifie la fonction non linéaire, définie et enregistrée dans un fichier .m, à ajuster.
a0 Spécifie une estimation initiale pour le vecteur de paramètres.
xdata Spécifie le vecteur de données en entrée de la fonction non linéaire fun.
ydata Spécifie le vecteur de données en sortie de la fonction non linéaire fun.
lb Spécifie les limites inférieures du vecteur de paramètres. length(lb) doit être égal à length(a0).
ub Spécifie les limites supérieures du vecteur de paramètres. length(ub) doit être égal à length(a0).

Sorties

Nom Description
x Renvoie les coefficients qui minimisent l'erreur quadratique moyenne entre le vecteur solution et les valeurs y observées.
normres Renvoie la valeur du carré de la norme 2 du résidu.
resid Renvoie le résidu de la courbe ajustée.

Détails

Cette fonction utilise l'algorithme de Levenberg-Marquardt pour déterminer l'ensemble de paramètres qui correspond le mieux à l'ensemble de points de données en entrée (xdata, ydata) exprimé par la fonction non linéaire ydata = f(a, xdata), a étant l'ensemble de paramètres.

La fonction à ajuster est définie par le paramètre fun en entrée ; ce paramètre est un fichier script qui a la forme de l'équation suivante :

[F, df] = myfun(a, xdata)

F étant le tableau de valeurs évaluées à xdata: myfun(a, xdata), et df étant un tableau à deux dimensions des dérivées partielles à xdata par rapport aux coefficients ou la valeur jacobienne J. Le calcul des dérivées partielles est facultatif. Si vous ne calculez pas les dérivées dans le script, df doit être égal à zeros(0, 0) et LabVIEW calcule numériquement les dérivées.

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

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

Exemples

% The myfun function is defined by:
%function [F, df] = myfun(a, xdata)
%F = a(1)*xdata.^2 + a(2)*cos(xdata);
%df = zeros(0, 0);

a = [2, 1.5];
x = 0:1:19;
noise = randnormal(size(x)) / 5;
y = a(1)*x.^2 + a(2)*cos(x) + noise;
[x, normres, resid] = lsqfit('myfun', [10, 10], x, y);

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

Pas utile