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

Mathématiques Discussion :

Système équations non linéaires, résolution ?


Sujet :

Mathématiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Par défaut Système équations non linéaires, résolution ?
    Bonjour à tous,

    J'ai la résolution d'un système d'équations non linéaires (2 équations, 2 inconnues) du type :

    f(x,y)=0
    g(x,y)=0

    Je travaille en C++/C...je n'arrive pas à trouver pour le moment une librairie capable de faire celà...

    Quelqu'un aurait-il un tuyau ? Un mot clé ?


    MErci par avance

    Cordialement

    MERCIER Sébastien

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    il me semble pour que ce genre de problèmes il faut utiliser la méthode Levenberg-Marquardt. (A confirmer).
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 78
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Citation Envoyé par smercier2 Voir le message
    J'ai la résolution d'un système d'équations non linéaires (2 équations, 2 inconnues) du type :
    f(x,y)=0
    g(x,y)=0
    Il y a deux problèmes distincts:
    Problème de l'existence et du nombre des solutions (plutôt algébrique par nature)
    Problème du calcul d'une solution dans un ensemble particulier (souvent un rectangle où on sait a priori qu'une solution existe (problème d'analyse numérique plutôt).
    Pour le premier, en toute généralité je n'ai pas grand chose à proposer sauf peut être quand les équations sont algébriques (polynomiales). C'est dans tous les cas un pb assez (très) difficile.
    Pour le second les choses sont plus simples:
    une équation f(x,y)=0 définit le plus souvent une fonction implicite y=h(x), c'est le cas en particulier pour les fonctions continument différentiables au voisinage d'un point où la dérivée par rapport à la seconde variable est non nulle, on peut même avoir une expression approchée de cette fonction par un développement limité faisant intervenir cette dérivée partielle.
    Si on est dans le cas où on peut appliquer cela pour les deux à la fois. Le système se ramène à h(x)=k(x) soit (h-k)(x)=0 annulation d'une fonction continue, pour ce pb les méthodes sont nombreuses.
    Le problème étant symétrique sur les deux variables on peut aussi être ramené à x=k(y) et x=h(y)
    ou bien
    y=h(x) et x=k(y)
    Dans le dernier cas on cherche un point fixe, ce qui revient encore à annuler une fonction continue.
    Je ne connais aucun programme C qui fasse cela mais cela ne doit pas être difficile à écrire.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 78
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    En fait j'aurais peut être été plus clair si j'avais utilisé un langage 'graphique'
    On cherche une solution au voisinage d'un point M0(x0,y0).
    On remplace localement la courbe f(x,y)=0 par sa tangente au point d'abscisse x0, la courbe g(x,y)=0 par sa tangente au point d'abscisse x0, l'intersection des deux tangentes est certainement plus près du point cherché que M0, il reste à itérer le processus.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Zavonen Voir le message
    En fait j'aurais peut être été plus clair si j'avais utilisé un langage 'graphique'
    On cherche une solution au voisinage d'un point M0(x0,y0).
    On remplace localement la courbe f(x,y)=0 par sa tangente au point d'abscisse x0, la courbe g(x,y)=0 par sa tangente au point d'abscisse x0, l'intersection des deux tangentes est certainement plus près du point cherché que M0, il reste à itérer le processus.
    Bref, la methode de newton... c'est ca ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  6. #6
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut
    Bonjour,

    voici les méthodes les plus utilisées pour la résolution des systèmes d'équations non linéaires :
    • Méthode de Newton
    • Méthode du point fixe
    • Méthode de Gauss - Siedel
    • Méthode de relaxation

    Bon courage.

  7. #7
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 78
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Bref, la méthode de Newton... c'est ca ?
    Formellement non, mais on peut jouer sur les mots.
    La méthode de Newton consiste à calculer une solution de f(x)=0 au voisinage d'un point en remplaçant la courbe par sa tangente, et en proposant comme nouvelle approximation l'intersection de cette tangente avec l'axe des x. Le fondement théorique de newton est l'approximation locale des fonctions par des fonctions du premier degré 'affines'.
    Ici, le fondement théorique est le théorème dit 'des fonctions implicites'. cela dit, l'idée de base est la même.
    Newton est avec Leibniz le fondateur du calcul différentiel, il est donc le père de tout.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

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. Réponses: 0
    Dernier message: 01/10/2008, 15h14
  3. Réponses: 1
    Dernier message: 22/05/2008, 13h56
  4. Résolution d'équation non-linéaire
    Par progmatho dans le forum Simulink
    Réponses: 1
    Dernier message: 20/02/2008, 11h26
  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