Minimum d'une fonction a plusieurs variables : Algorithme de Levenberg-Marquardt


  • A

    Bonjours,

    Je fait des recherches pour faire un programme sur Maple concernant les moindres carrés. Mon but est de faire un programme qui puisse me donner l'équation d'un plan ou d'un cylindre à partir d'un ensemble de points.

    Exemple du plan

    P:ax+by+c*z+d=0

    Soit un point M1(x1, y1, z1) mesuré.
    Le but est de minimiser la distance entre le point M1 mesuré et le plan.
    Soit minimiser (|ax1+by1+c*z1+d|/racine(a^2+b^2+c^2))^2

    Lorsque j'ai n points mesurés c'est la somme que je doit minimiser :

    **M1(x1, y1, z1), M2(x2, y2, z2), ..., Mn(xn, yn, zn)

    f(a,b,c,d)=
    (|ax1+by1+cz1+d|/racine(a^2+b^2+c^2))^2 +
    (|a
    x2+by2+cz2+d|/racine(a^2+b^2+c^2))^2 + ... +(|axn+byn+c*zn+d|/racine(a^2+b^2+c^2))^2**

    Mes inconnues sont a, b, c et d.

    Méthode de résolution

    Pour minimiser la fonction f il y a une méthode : l'Algorithme de Levenberg-Marquardt.

    J'ai regardé sur Wikipedia ils disent : (http://fr.wikipedia.org/wiki/Algorithme_de_Levenberg-Marquardt)

    Citation
    L’algorithme de Levenberg-Marquardt, ou algorithme LM, permet d'obtenir une solution numérique au problème de minimisation d'une fonction, souvent non-linéaire et dépendant de plusieurs variables.

    Cependant dans les explications ils montrent une fonction avec un seul paramètre a et non plusieurs variables.

    Alors comment faire lorsque j'ai quatre paramètres ?

    De plus que représente le vecteur p ? C'est un vecteur à combien de dimension ?

    Si vous connaissez une autre méthode que celle de Levenberg-Marquardt je suis également preneur !

    Merci d'avance.


Se connecter pour répondre