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 :

équation différentielle du 2nd ordre


Sujet :

Mathématiques

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 12
    Points
    12
    Par défaut équation différentielle du 2nd ordre
    Citation Envoyé par millie Voir le message
    Résolution d'équation différentielle par la méthode de Runge-Kutta

    Auteur : millie

    Champs d'application : Dès que l'on souhaite résoudre une équation différentielle du premier ordre du type : dy/dx = f(x,y)

    [/CODE]
    Bonjour,
    je veux savoir comment on peut programmer en c++ les équations du second ordre comme : d²y/dt=-w²y.
    si y'a une méthode et si vous pouvez m'aider je serais trés heureuse.Merci d'avance

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Ces équations disposent d'une solution exacte, donc inutile de passer par Runge Kutta.

    Voir : http://fr.wikipedia.org/wiki/%C3%89q...d%27ordre_deux

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 12
    Points
    12
    Par défaut équation différentielle du 2nd ordre
    Bonsoir,
    Merci d'abord pour votre réponse, je veux dire comment on peut programmer ça en c++,par exemple l'équation d²y/dt=-w²y peut etre écrite sous la forme suivante: x(i+1)=kx(i)-x(i-1) avec i=0:N et k=1-w² alors pour avoir l'échantillon x(1) il faut avoir les valeurs de x(0) et x(-1), pour les équations 1er ordre on donne x(0)=0;
    quesqu'on peut donner pour x(-1) dans ce cas??
    aider moi svp
    Cordialement.

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par electro23 Voir le message
    suivante: x(i+1)=kx(i)-x(i-1) avec i=0:N et k=1-w² alors pour avoir l'échantillon x(1) il faut avoir les valeurs de x(0) et x(-1), pour les équations 1er ordre on donne x(0)=0;
    Il n'y a pas besoin de ça, car tu as une solution exacte à base d'exponentielle comme cela est indiqué sur wikipedia. Il suffit juste de résoudre l'équation à la main, puis d'utiliser la formule mathématiques à base d'exponentielle.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 12
    Points
    12
    Par défaut équation différentielle du 2nd ordre
    Bonsoir,
    le probléme c'est pas question de résolution mathématique mais probléme de programmation, je veux juste savoir avec quelles valeures on peut initialiser les deux informations sur x, x0 et x'0?????
    Merci pour votre interet
    a+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Je ne suis pas sûr de cerner la question, mais si il s'agit de la méthode, typiquement lorsqu'on a une équation différentielle ordinaire d'ordre supérieur à 1, on construit un système équivalent d'équations d'ordre 1 en posant des variables intermédiaires qui ne sont rien d'autre que les dérivées successives de la variable (voir par exemple ici).
    On traite ensuite l'intégration du système de manière classique (par exemple avec un schémas Runge-Kutta); les conditions initiales sont alors la valeur de la fonction au temps 0 ainsi que la(les) valeur(s) de sa(ses) dérivée(s) à ce même temps 0.

    Bonne continuation.

  7. #7
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Les méthodes de Runge-Kutta sont des méthodes d'analyse numérique d'approximation de solutions d'équations différentielles

    En résumé, tu dois discrètiser ton équation. J'en ai bouffé du calcul numérique. Pour obtenir une solution numérique de ton équation, il faut que la méthode numérique servant à la résoudre cette équation respecte des critères de convergence. Grosso modo, tu vas injecté des conditions initiales dans ton système et par itération, pour un ensemble données de valeurs xi tu devrais avoir un ensemble de données yi.

    L'objectif d'un méthode de résolution numérique, c'est de fournir un ensemble de point (xi,yi) de ta solution sur un intervalle, contrairement à une solution analogique y=f(x), où f est connue.

    Le langage de référence pour résoudre ce genre de problème est le Fortran. Bon courage !

    EDIT:

    Bien que pour Runge Kutta, tu calcules une fois yi pour un xi. Dans certains cas c'est plus compliqué.
    Tu dois avoir à l'esprit que tu as un pas de discretisation h dont tu peux fixer la valeur. En fonction des valeurs de h tu verras, si ton modèle tiens la route ou pas, je veux dire qu'il ne doit pas être trop petit ni trop grand, d'où la notion de critère de convergence.

    EDIT2: Ensuite il y a une petite subtilité à prendre en compte car tu dois résoudre une équation du 2nd ordre alors que Runge Kutta est utilisé pour résoudre une équation différentielle du 1er ordre.

Discussions similaires

  1. équation différentielle du second ordre ode23
    Par bibed dans le forum MATLAB
    Réponses: 1
    Dernier message: 11/06/2009, 03h26
  2. Réponses: 7
    Dernier message: 19/05/2008, 13h24
  3. Réponses: 2
    Dernier message: 22/11/2007, 14h58
  4. Réponses: 8
    Dernier message: 08/04/2007, 01h38
  5. Réponses: 1
    Dernier message: 08/12/2006, 17h13

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