Utilise l'algorithme de Levenberg-Marquardt pour déterminer le jeu de paramètres qui correspond le mieux à l'ensemble de points de données en entrée (X,Y), exprimé sous forme d'une fonction non linéaire y = f(x,a), a étant le jeu de coefficients. Vous devez sélectionner manuellement l'instance polymorphe à utiliser.


icon

Entrées/Sorties

  • c1ddbl.png paramètres initiaux

    paramètres initiaux spécifie l'estimation initiale de paramètres du meilleur ajustement. La longueur de paramètres initiaux doit être égale à celle de Paramètres dans description du modèle.

    Plus les paramètres initiaux sont proches de paramètres du meilleur ajustement, plus l'ajustement de courbe non linéaire est précis. Vous devriez donc utiliser toutes les ressources disponibles pour obtenir de bons paramètres d'estimation initiaux avant d'utiliser ce VI.

  • c1ddbl.png Y

    Y représente le tableau des valeurs dépendantes ou les observations. Le nombre de points en entrée doit être supérieur à zéro.

  • c1ddbl.png X

    X représente le tableau des valeurs indépendantes. Le nombre de points en entrée doit être supérieur à zéro.

  • c1ddbl.png Pondération

    Pondération représente le tableau des pondérations pour les observations Y. Si Pondération n'est pas câblé, ce VI définit tous les éléments de Pondération à 1.

    Si Pondération a moins d'éléments que Y, ce VI comble la fin de Pondération avec des 1 pour que la longueur de Pondération soit égale à celle de Y. Si Pondération a plus d'éléments que Y, ce VI ignore les éléments supplémentaires à la fin de Pondération. Si un élément de Pondération est inférieur à 0, ce VI utilise la valeur absolue de l'élément.

  • ccclst.png description du modèle

    description du modèle spécifie la description de la chaîne de formule du modèle auquel vous voulez appliquer un ajustement de courbe non linéaire. Lorsque les boîtes de calcul et l'analyseur des VIs de Mathématiques diffèrent, ce VI utilise la syntaxe d'analyse. Par exemple, pour une élévation à une puissance, utilisez la syntaxe de l'analyseur ^ plutôt que la syntaxe de la boîte de calcul **.

  • cstr.png modèle

    modèle est une chaîne décrivant l'équation du modèle. La formule peut contenir n'importe quel nombre de variables valides.

  • c1dstr.png Paramètres

    Paramètres est un tableau de chaînes des paramètres inconnus.

  • cstr.png x

    x représente la variable indépendante.

  • cerrcodeclst.png entrée d'erreur (pas d'erreur)

    entrée d'erreur décrit les conditions d'erreur qui ont lieu avant l'exécution de ce nœud. Cette entrée fournit la fonctionnalité entrée d'erreur standard.

  • cnclst.png terminaison

    terminaison spécifie les conditions d'arrêt du processus d'ajustement.

  • ci32.png max. d'itérations

    max. d'itérations spécifie le nombre maximum d'itérations du processus d'ajustement. Si le nombre d'itérations dépasse max. d'itérations, le processus d'ajustement s'arrête.

  • cdbl.png tolérance

    tolérance spécifie le changement relatif de la distance pondérée entre Y et l'ajustement actuel. Si le changement relatif tombe en dessous de la tolérance, le processus d'ajustement s'arrête.

  • i1ddbl.png meilleur ajustement non linéaire

    meilleur ajustement non linéaire renvoie les valeurs y du modèle ajusté qui correspond aux valeurs indépendantes de X.

  • i1ddbl.png paramètres du meilleur ajustement

    paramètres du meilleur ajustement renvoie le tableau des paramètres qui minimise l'erreur quadratique moyenne pondérée entre le meilleur ajustement non linéaire et les observations de Y.

  • i2ddbl.png covariance

    covariance renvoie la matrice des covariances.

    Cjk est la covariance entre a[j] et a[k]. c[jj] est la variance de a[j]. Ce VI génère la covariance, C, selon l'équation suivante : C = (0,5D)^-1D est le Hessien de la fonction par rapport à ses paramètres.

  • ierrcodeclst.png sortie d'erreur

    sortie d'erreur contient des informations sur l'erreur. Cette sortie fournit la fonctionnalité sortie d'erreur standard.

  • idbl.png résidu

    résidu renvoie l'erreur quadratique moyenne pondérée entre le meilleur ajustement non linéaire et Y.

  • Ce VI utilise la méthode de Levenberg-Marquardt pour calculer les paramètres du meilleur ajustement qui minimisent l'erreur quadratique moyenne pondérée entre les observations de Y et le meilleur ajustement non linéaire. La formule suivante définit le modèle de courbe :

    y[i] = f(x[i], a0, a1, a2, …)

    a0, a1, a2, … étant les paramètres.

    La méthode de Levenberg-Marquardt ne requiert pas de relation linéaire entre y et les paramètres.

    La matrice hessienne est une matrice courante dans les méthodes d'optimisation numérique, comme la méthode de Newton, par exemple. Pour éviter les points faibles de la matrice hessienne singulière, la méthode de Levenberg-Marquardt ajoute une matrice diagonale définie positive à la matrice hessienne. Cette matrice diagonale définie positive est la différence principale entre la méthode de Levenberg-Marquardt et la méthode de Gauss-Newton. Reportez-vous au document Numerical Optimization mentionné dans la rubrique Documentation relative aux mathématiques pour obtenir des informations complémentaires sur la méthode de Levenberg-Marquardt.

    Vous pouvez utiliser la méthode de Levenberg-Marquardt non linéaire pour ajuster des courbes, qu'elles soient linéaires ou non. Cependant, si vous ajustez une courbe linéaire, le VI Ajustement linéaire général est plus efficace que ce VI-ci. Vous devez vérifier les résultats obtenus avec la méthode de Levenberg-Marquardt car elle ne garantit pas toujours un résultat correct.

    Exemples

    Reportez-vous aux exemples de fichiers inclus avec LabVIEW suivants.

    • labview\examples\Mathematics\Fitting\Ellipse fit.vi
    • labview\examples\Mathematics\Fitting\Sum of 3 Gaussians with offset fit.vi
    • labview\examples\Mathematics\Fitting\Gaussian surface with offset fit.vi