Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 15 sur 21

Appliquer Runge-Kutta 4 à un pendule élastique.

  1. neokiller007

    Date d'inscription
    août 2004
    Localisation
    Haute-savoie
    Messages
    1 776

    Appliquer Runge-Kutta 4 à un pendule élastique.

    Bonjour,


    J'ai crée un programme C qui me permet de simuler l'évolution du pendule élastique (pendule avec un ressort au lieu d'une corde).

    Pour cela j'ai utilisé la méthode d'Euler:

    Donc on approxime en enlevant le o(h)

    Du coup on a:



    Et j'applique l'algorithme suivant:
    On connait x(t) et v(t)(conditions initiales), on calcul a(t) par le PFD (pour cela on a besoin de x(t) et v(t) à cause de la force de frottement). Puis on calcul grace à euler, puis et on recommence.

    Mais le problème c'est que les erreur numériques sont trop grandes et amplifient le mouvement quand on ne met pas de frottements.

    Donc j'aimerais utiliser une autre méthode.
    J'ai pensé à la méthode de Verlet qui nous donne:



    Mais le problème c'est que pour calculer j'ai besoin de . Et pour calculer j'ai besoin de ça pas de problème je le calcul avec x(t0) et v(t0), mais j'ai aussi besoin de ! (à cause des forces de frottements) donc le problème est insoluble

    J'ai donc pensé à la méthode de runge-kutta d'ordre4:
    Sous wikipédia on donne les formules ici http://fr.wikipedia.org/wiki/M%C3%A9...de_Runge-Kutta
    Mais je ne comprend pas à quoi correspond , et.
    f est une fonction à deux variables alors que moi je n'ai que des fonctinos d'une variable donc je comprend pas.

    Est-ce que quelqu'un pourrait m'expliciter ça en terme de f(a+h)=quelque chose ou alors en terme de x(t), v(t) et


    Merci.


     


    • Publicité



  2. LPFR

    Date d'inscription
    mars 2008
    Messages
    33 353

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Bonjour.
    Je viens de relire ma bible de calcul numérique "Numerical recipes".
    Et c'est plus clair que wikipedia (rien de surprenant!).
    En fait la fonction f(x, y) de wikipedia est écrite dans mon bouquin f'(x, y). C'est bêtement la dérivée de la fonction au point x.
    Les k1, .., k4 sont les dérivées aux points indiqués.
    Au revoir.
     

  3. neokiller007

    Date d'inscription
    août 2004
    Localisation
    Haute-savoie
    Messages
    1 776

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Donc si je résume avec des notations compréhensible ça nous donne:


    avec:





    Est-ce correcte ?
     

  4. LPFR

    Date d'inscription
    mars 2008
    Messages
    33 353

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Re.
    Oui, c'est ça.
    A+
     

  5. philou21

    Date d'inscription
    janvier 2006
    Messages
    4 522

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Bonjour
    Verlet c'est pas :

    qui laisse une erreur en ?
     


    • Publicité



  6. neokiller007

    Date d'inscription
    août 2004
    Localisation
    Haute-savoie
    Messages
    1 776

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Citation Envoyé par philou21 Voir le message
    Bonjour
    Verlet c'est pas :

    qui laisse une erreur en ?
    Je ne sais pas, j'ai trouvé cette formule sur internet.
    En fait c'est la même chose qu'Euler mais on fait un DL à l'ordre 2.
    Puis on approxime a'(t0) par son taux d'accroissement en et on obtient cette expression.

    Mais si tu me dis comment trouver ton expression je serais ravis de l'utiliser.
     

  7. philou21

    Date d'inscription
    janvier 2006
    Messages
    4 522

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Oui, facile :
    tu developpes au 3ème ordre d'un coté :


    et de l'autre (en remontant le temps) :


    tu additionnes les deux expressions et tu obtiens :


    les vitesses et le troisième ordre s'annulent. Tu as donc une précision jusqu'au 3ème ordre.

    Mais il faut que tu calcules le premier point pour pouvoir enclencher le processus.
    Tu peux le faire avec :


    Le seul problème est que tu n'as pas les vitesses, ça peut être embêtant si tu as des frottements. Tu peux toujours l'estimer par :
     

  8. neokiller007

    Date d'inscription
    août 2004
    Localisation
    Haute-savoie
    Messages
    1 776

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Merci pour la démo.

    Effectivement c'est embêtant pour la vitesse.
    On calcul avec précision x mais on fait une erreur grossière sur la vitesse :/
     

  9. philou21

    Date d'inscription
    janvier 2006
    Messages
    4 522

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Citation Envoyé par neokiller007 Voir le message
    Merci pour la démo.

    Effectivement c'est embêtant pour la vitesse.
    On calcul avec précision x mais on fait une erreur grossière sur la vitesse :/
    Oui et non ... l'erreur ( en O(h2)) ne s'accumule pas trop puisque la vitesse est calculée à chaque fois à partir de valeurs assez précises (les x).
    essaye...
    C'est facile à programmer et ça donne en général de bon résultats

    remarque : de plus, souvent les forces de frottements dépendent de v de façon un peu empirique, je ne suis pas persuadé qu'une valeur très précise soit absolument indispensable.
    si tu n'as pas besoin de v(t) pour calculer a(t) mais juste pour information il vaudra mieux, bien sûr, calculer la vitesse a posteriori par :
     

  10. neokiller007

    Date d'inscription
    août 2004
    Localisation
    Haute-savoie
    Messages
    1 776

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Effectivement,c'est quand même beaucoup plus stable qu'avec euler.
     

  11. philou21

    Date d'inscription
    janvier 2006
    Messages
    4 522

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Citation Envoyé par neokiller007 Voir le message
    Effectivement,c'est quand même beaucoup plus stable qu'avec euler.
    Ça ne m'étonne pas... (de toute façon il faut régler Δt de manière à avoir une stabilité)
    Tu as mis un peu de dissipation ? sous quelle forme ?
     

  12. neokiller007

    Date d'inscription
    août 2004
    Localisation
    Haute-savoie
    Messages
    1 776

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Frottements visqueux en régime turbulent (car dans l'air on atteins très vite le régime turbulent)
     

  13. philou21

    Date d'inscription
    janvier 2006
    Messages
    4 522

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Citation Envoyé par neokiller007 Voir le message
    Frottements visqueux en régime turbulent (car dans l'air on atteins très vite le régime turbulent)
    de toute façon, je pense que tu résous les équations pour l et thêta et que les accélérations comportent forcement des termes de vitesses.
     

  14. neokiller007

    Date d'inscription
    août 2004
    Localisation
    Haute-savoie
    Messages
    1 776

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Citation Envoyé par philou21 Voir le message
    de toute façon, je pense que tu résous les équations pour l et thêta et que les accélérations comportent forcement des termes de vitesses.
    Non non, sans frottement y a pas de vitesse dans l'accélération.

    J'ai une question, pourquoi la plupart des logiciels scientifiques sont codés en Fortran ?
    Je trouve ce langage horrible et bien moins pratique que le C/C++. Et niveau performance c'est le C/C++ qui remporte.
    De plus le C/C++ sont très utilisés donc plus facile de trouvé de la doc et des bibliothèques (openGL, SDL que j'utilise, SFML...) notamment des GUI comme Qt etc...
     

  15. philou21

    Date d'inscription
    janvier 2006
    Messages
    4 522

    Re : Appliquer Runge-Kutta 4 à un pendule élastique.

    Citation Envoyé par neokiller007 Voir le message
    Non non, sans frottement y a pas de vitesse dans l'accélération.

    J'ai une question, pourquoi la plupart des logiciels scientifiques sont codés en Fortran ?
    Je trouve ce langage horrible et bien moins pratique que le C/C++. Et niveau performance c'est le C/C++ qui remporte.
    De plus le C/C++ sont très utilisés donc plus facile de trouvé de la doc et des bibliothèques (openGL, SDL que j'utilise, SFML...) notamment des GUI comme Qt etc...
    A bon ?
    j'avais souvenir que dans il y avait un terme en
    et pareil pour
     


    • Publicité




Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. Runge Kutta
    Par ydethe dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 11/10/2011, 16h14
  2. Méthode Runge-Kutta heeeelp !
    Par lyralya dans le forum Physique
    Réponses: 1
    Dernier message: 14/04/2009, 18h43
  3. Runge Kutta en méca céleste
    Par Penangol dans le forum Physique
    Réponses: 14
    Dernier message: 27/06/2008, 16h53
  4. Runge kutta pour la RFD
    Par machinefr dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 28/10/2007, 22h58
  5. Runge Kutta (et Fortran)
    Par maki00 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 26/03/2007, 21h24