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
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Système d'équations non-linéaires
    Bonjour,

    Comment résoudre un système d'equations non-linéaires ? J'ai cherché dans le Help de Matlab et j'ai trouvé l'instruction fsolve, qui prend en entrée le nom de la fonction et un x0 dont je ne comprends pas le rôle. Est-ce que son choix peut altérer la résolution ?
    N'y a-t-il pas d'autres méthodes pour résoudre un système d'equations non-linéaires avec Matlab ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    soit fsolve soit lsqnonlin si tu as optim te permettra de résoudre tes équations non linéaires
    tout est expliqué dans la doc, x0 est le point de départ
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  3. #3
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    un conseil concernant ta remarque sur la résolution :
    utilise l' arguments' de sortie exitflag pour connaitre si cela a convergé
    utilise également la fonction optimset pour spécifier tolérance, itérations...
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 39
    Points : 42
    Points
    42
    Par défaut
    La résolution d'un système non lineaire à plusieurs variables n'est pas une chose facile. Il n'y a généralement pas de "bons" algorithme pour traiter ce genre de problème.
    Généralement, ces algo utilisent un point de départ. Ensuite en calculant le jacobien de ta fonction, l'algo essaie de converger vers la solution. Or, si ton point de départ est vraiment trop loin du point solution, l'algorithme ne converge pas et ne trouve donc pas la solution.
    La question est de savoir si la convergence a eu lieu ou pas. La réponse est contenue dans la sortie exitflag. Cependant, le mieux est de vérifier aussi pas un autre moyen si le résultat que te sort fsolve correspond à la solution de ton problème pas d'autres moyens pour être vraiment sûr.
    Si tu veux plus de détails sur la résolution de fsolve, tu peux regarder dans les Numerical Recipes (livre dispo gratuitement en ligne, tapes sur Google).
    Denis

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut j'ai fait un exo sur ça:
    On choisit le point de départ au hasard.
    On linéarise par rapport à ce point (avec taylor, on obient un système linéaire faisant intervenir le jacobien) puis on résout.
    On définit alors un nouveau point de linéarisation, et on itère
    Normalement, ce point converge vers la solution du système non linéaire .
    Après, je me demande si ça marche tt le temps!

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/05/2008, 13h56
  2. solution approchée pour une équation non linéaire
    Par nadineUR dans le forum Mathématiques
    Réponses: 20
    Dernier message: 13/05/2008, 15h52
  3. Résolution d'équation non-linéaire
    Par progmatho dans le forum Simulink
    Réponses: 1
    Dernier message: 20/02/2008, 11h26
  4. Système équations non linéaires, résolution ?
    Par smercier2 dans le forum Mathématiques
    Réponses: 23
    Dernier message: 23/10/2007, 04h00
  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