IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Système d'équations non linéaires


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Système d'équations non linéaires
    Bonjour,
    Au cours de mon projet j'ai rencontré des problèmes pour résoudre un système d'équations non linéaires sous matlab avec la méthode de Levenberg-Marquardt.
    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Qu'est-on censé te répondre avec ce peu d'information ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    on a un sujet de calibrage de camera (déterminer les paramétrés intrinsèque et extrinsèque) ce revient a résoudre un système d 'équation non linéaire avec avec 72 équation et 11 inconnue avec l algorithme levenberg-marquardt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    syms x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11
     
    Ud=(((X(1)*(cos(x1)*cos(x2)))+(((cos(x1)*sin(x2)*sin(x3))-(sin(x1)*cos(x3)))*Y(1))+(((cos(x1)*sin(x2)*cos(x3))+((sin(x1)*sin(x3)))*Z(1))+x4))/(((-sin(x2)*X(1))+(cos(x2)*sin(x3)*Y(1))+(cos(x2)*cos(x3))*Z(1))+x6))-((x7*(U(1)-x10)/x8)*((((U(1)-x10)/x8)^2)+((V(1)-x11)/x9)^2))-((U(1)-x10)/x8);
    Vd=((((sin(x1)*cos(x2)*X(1))+((sin(x1)*sin(x2)*sin(x3))+(cos(x1)*cos(x3)))*Y(1)+(((sin(x1)*sin(x2)*cos(x3))-(cos(x1)*sin(x3)))*Z(1))+x5))/((-sin(x2)*X(1))+(cos(x2)*sin(x3)*Y(1))+(cos(x2)*cos(x3)*Z(1))+x6))-((x7*(V(1)-x11)/x9)*((((U(1)-x10)/x8)^2)+((V(1)-x11)/x9)^2))-((V(1)-x11)/x9);
    F=[Ud; Vd];
    for k22=2:36
        ud=(((X(1)*(cos(x1)*cos(x2)))+(((cos(x1)*sin(x2)*sin(x3))-(sin(x1)*cos(x3)))*Y(1))+(((cos(x1)*sin(x2)*cos(x3))+((sin(x1)*sin(x3)))*Z(1))+x4))/(((-sin(x2)*X(1))+(cos(x2)*sin(x3)*Y(1))+(cos(x2)*cos(x3))*Z(1))+x6))-((x7*(U(1)-x10)/x8)*((((U(1)-x10)/x8)^2)+((V(1)-x11)/x9)^2))-((U(1)-x10)/x8);
        vd=((((sin(x1)*cos(x2)*X(1))+((sin(x1)*sin(x2)*sin(x3))+(cos(x1)*cos(x3)))*Y(1)+(((sin(x1)*sin(x2)*cos(x3))-(cos(x1)*sin(x3)))*Z(1))+x5))/((-sin(x2)*X(1))+(cos(x2)*sin(x3)*Y(1))+(cos(x2)*cos(x3)*Z(1))+x6))-((x7*(V(1)-x11)/x9)*((((U(1)-x10)/x8)^2)+((V(1)-x11)/x9)^2))-((V(1)-x11)/x9);
        F=[F;ud;vd]
    end
    pour la résolution on a essayé avec la fonction fsolve sur MATLAB mais ça ne donne rien si vous pouvez nous aider svp Merci

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Et en plus on a les variables [X(i),Y(i),Z(i),U(i),V(i)],,,,,,,,, on a pris les valeurs initiales pour les variables [x1.......x11] donc notre problème :comment peut-on résoudre un système d'équations non linéaires à 11 inconnues [x1.....x11] avec la fonction F=(ud(k22);vd(k22)) pour k22=1:36 donc on 72 fonctions ;on résume le problème : on a F,et x0[x01.......x011] (vecteur initiale ) et le problème dans le vecteur X=[x1......x11], pouvez-vous nous aider svp,merci

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    peux-tu nous montrer le code complet (avec fsolve)?

    Pourquoi utilises-tu des variables symboliques? tu cherches une solution analytique ou numérique?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    tu veux résoudre un système linéaire par levenberg marquardt ?

    => levenberg marquardt permet de minimiser des fonctions donc pas de resoudre directement un système.

    => Si tu veux résoudre le systeme Ax=b avec LVBM il faut que tu définisses le résidu : R=Ax-b qui est un vecteur et que tu minimise la somme quadratique de ces composantes.

    regarde l'exemple en bas de cette page :
    http://www.mathworks.fr/help/toolbox...lsqnonlin.html

  7. #7
    Membre éprouvé
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Points : 1 158
    Points
    1 158
    Billets dans le blog
    1
    Par défaut
    C'est un bouquin de photogrammétrie qu'il te faut, pas un forum Matlab.

    Et ça m'intéresserait de savoir dans quel cadre tu travailles. Parceque ce problème a déja reçu 1001 réponses toutes aussi pertinentes les unes que les autres, dont de nombreuses en open source. Donc je vois pas exactement l'intérêt de le reprogrammer ça aujourd'hui sous matlab.
    "La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.

Discussions similaires

  1. [Débutant] Résolution d'un système d'équations non-linéaires
    Par nicollivier dans le forum MATLAB
    Réponses: 9
    Dernier message: 09/12/2009, 17h32
  2. système d'équation non linéaire
    Par Medde dans le forum Mathématiques
    Réponses: 5
    Dernier message: 11/07/2009, 16h53
  3. Solveur de systèmes d'équations non linéaires
    Par teska dans le forum Langage
    Réponses: 5
    Dernier message: 11/12/2008, 17h07
  4. Réponses: 0
    Dernier message: 01/10/2008, 15h14
  5. Réponses: 1
    Dernier message: 14/02/2007, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo