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 :

comment trouvé les racines d'une equation différentielle


Sujet :

Mathématiques

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Points : 104
    Points
    104
    Par défaut comment trouvé les racines d'une equation différentielle
    Bonjour,

    Comme le dit le titre, j'aimerais trouvé les racines d'une équation différentielle? Après avoir exécuté mon equation j'ai en retour une matrice et je passe les éléments de ma matrice pour dessiner ma courbe (avec un plot3). Ce que j'aimerais c'est de trouver la racine pour dessiner mon graphique jusqu'a ma racine.

    Je sais qu'une bonne méthode est d'utiliser la méthode de newton-raphson mais ili faut utiliser un polynome. Je sais pas comment faire pour une équation différentielle.


    Merci de votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    salut, une équa diff est de la forme

    si tu veux chercher les racines de ta fonction f, tu veux donc résoudre l'équation


    donc en maths, on parle de point d'équilibre. Et pour cela, un multi-d il n'y a qu'une seule méthde : newton et ses variantes. Et pas besoin de polynôme.

    Si tu cherches vraiment à approximer ta fonction f par un polynôme, regarde du côté des polynômes de newton, de legendre, de tchebytchev.

    PS : cette discussion n'a rien à voir avec matlab. tu devrais poster ton message sur le forum "Algorithme" puis quand tu en as un, tu peux coder et poster tes pb de codes sur ce forum si tu codes en matlab.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    La méthode a plus simple à la fois à comprendre et à mettre en oeuvre est certainement la méthode dite d'Euler:
    http://fr.wikipedia.org/wiki/M%C3%A9thode_d%27Euler
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Citation Envoyé par Zavonen Voir le message
    La méthode a plus simple à la fois à comprendre et à mettre en oeuvre est certainement la méthode dite d'Euler:
    http://fr.wikipedia.org/wiki/M%C3%A9thode_d%27Euler
    tout à fait. Mais ensuite, il faut vérifier les pb raides, les pb de convergence. La seconde méthode après Euler sont les runge kutta, puis il y a les méthodes implicites, puis les méthodes à pas variables puis les méthodes multi-pas.

    De quoi passer de bonnes soirées d'hiver pour tout comprendre et assimiler...

  5. #5
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Il y a beaucoup à dire sur ton problème (en vrac):

    1. Qu'entends-tu par racines d'une équation différentielle? Malgré mes 40 ans d'expérience dans le domaine, je n'en ai jamais entendu parler. S'agit-il du point d'équilibre, comme le suggère salseropom, ou plus généralement d'un régime stationnaire, ou s'agit-il plutôt des racines de l'équation caractéristique?
    2. Si ton équation est d'un ordre supérieur au premier, tu aurais tout avantage à la remplacer par un système canonique.
    3. Si ton équation est linéaire, tu pourrais être tenté de chercher les racines de son équation caractéristique. C'est l'archétype des méthodes à ne pas utiliser, en tout cas si l'ordre de ton équation est supérieur à 2. Pour ceux qui ne me croiraient pas, j'ai de superbes exemples à disposition. Passer par les valeurs propres de la matrice du système canonique est nettement moins mauvais, mais encore bien imparfait.
    4. Si ta fonction f(t,x) est donnée par points, ne l'approxime surtout pas par un polynôme de degré élevé: gare au phénomène de Runge!
    5. Il n'y a souvent pas de point d'équilibre au sens où l'entend salseropom. Les variables d'état de tendent pas nécessairement vers une limite. Si tu simules, par exemple, l'enclenchement d'un transformateur, les courants tendront vers des sinusoïdes et non des constantes.
    6. Léonard Euler était certes un grand génie, mais sa méthode d'intégration des équations différentielles, qu'il utilisait pour les problèmes d'astronomie où les solutions sont extrèmement lisses (trajectoire de la Lune) et avec les moyens dont il disposait (papier-crayon) ne sont absolument plus adaptées. On a dit de sa méthode: "Admirez mais n'appliquez pas". Là aussi, j'ai de superbes exemples à disposition. Si ton problème n'est pas stiff, utilise donc une méthode de type Runge-Kutta. Si ta solution semble diverger, essaie de réduire le pas d'intégration, et, si cela ne suffit pas, passe à une méthode adaptée à ce cas, comme par exemple Adams-Gear.


    Bonne chance
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

Discussions similaires

  1. Comment nommer les versions d'une application
    Par Bweb dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 15/02/2013, 15h07
  2. programme fortran90 qui calcule les racines d'une equation de deg 3 ?
    Par casier dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 10/06/2006, 17h30
  3. [Graphique] Comment compter les couleurs d'une image ?
    Par yoghisan dans le forum API, COM et SDKs
    Réponses: 27
    Dernier message: 16/02/2005, 18h17
  4. Comment saisir les racines avec OpenOffice ?
    Par poxtra_102 dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 08/10/2004, 19h05
  5. [Forms] Comment restreindre les valeurs d'une LOV
    Par popressay dans le forum Forms
    Réponses: 9
    Dernier message: 25/08/2004, 10h59

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