-
21/01/2010 - 12h05 neokiller007
Appliquer Runge-Kutta 4 à un pendule élastique.
-
21/01/2010 - 12h39 LPFR
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.
-
21/01/2010 - 12h52 neokiller007 -
21/01/2010 - 12h55 LPFR
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
-
21/01/2010 - 14h29 philou21
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
Bonjour
Verlet c'est pas : =2x(t)-x(t-\Delta t)+ a(t)(\Delta t)^2 )
qui laisse une erreur en ?
-
21/01/2010 - 14h58 neokiller007
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
 Envoyé par philou21 Bonjour
Verlet c'est pas : =2x(t)-x(t-\Delta t)+ a(t)(\Delta t)^2 )
qui laisse une erreur en ^4 ) ? 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.
-
21/01/2010 - 15h32 philou21 -
21/01/2010 - 15h51 neokiller007
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 :/
-
21/01/2010 - 16h20 philou21
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
 Envoyé par neokiller007 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 : -
22/01/2010 - 10h06 neokiller007
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
Effectivement,c'est quand même beaucoup plus stable qu'avec euler.
-
22/01/2010 - 10h12 philou21
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
 Envoyé par neokiller007 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 ?
-
22/01/2010 - 11h40 neokiller007
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)
-
22/01/2010 - 12h40 philou21
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
 Envoyé par neokiller007 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.
-
22/01/2010 - 13h42 neokiller007
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
 Envoyé par philou21 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...
-
22/01/2010 - 13h52 philou21
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
-
22/01/2010 - 14h02 neokiller007
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
-
22/01/2010 - 14h06 philou21
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
En ce qui concerne le fortran on va pas relancer ce vieux débat...
Toujours est-il qu'ils existent des millions de lignes codés en fortran et on ne va pas recoder à chaque fois que sort un nouveau langage...
Contrairement à ce que tu penses, le fortran génère un code très efficace (depuis le temps, le compilateur est plutôt performant) de plus les bibliothèques sont extrêmement bien fournies.
Tu sais, ce qu'exécute une machine c'est du code machine, c'est pas du C ou du fortran ou autres...
-
22/01/2010 - 14h12 philou21
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
-
22/01/2010 - 14h17 neokiller007
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
 Envoyé par philou21 Oui, oui, OK
je parlais de résolution en  et en 
pas en  et  Ok, mais je vois pas comment coder le truc si tu résouds en et en -
22/01/2010 - 14h31 philou21
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
 Envoyé par neokiller007 Ok, mais je vois pas comment coder le truc si tu résouds en  et en  Non, si tu veux inclure le frottement, je pense qu'il vaut mieux faire en cartésien comme tu as fait.
(autrement c'est lagrangien...)
-
22/01/2010 - 14h58 neokiller007
Re : Appliquer Runge-Kutta 4 à un pendule élastique.
intéressant je savais pas que c'était possible.
| | |