Implémenter Runge-Kutta (accélération --> vitesse)

Bonjour à tous,

Je cherche à implémenter l'algo de Runge-Kutta (RK4) dans mon programme, dans le but d'intégrer l'accélération pour avoir la vitesse. Seulement, je ne comprends pas à quoi correspondent, dans mon cas, les coefs k1, k2, k3, k4.

Quelqu'un saurait-il m'aider et m'expliquer ?

Merci d'avance.

PS : voici le site sur lequel je me suis principalement basé pour la compréhension de cette méthode : https://femto-physique.fr/omp/runge_kutta.php

La méthode de résolution d’équations différentielles Runge Kutta est expliquée sur Wikipedia (entre autres). Elle consiste à linéariser les équations et calculer les intégrales avec des points intermédiaires. Selon la méthodes de calcul de l’intégrale (rectangles, trapèzes, etc) on a un RK d’ordre 1, 2 ou plus.

La méthode d’ordre 1 est équivalente à la méthode d’Euler, qui intègre en approximant la fonction par une constante.
La méthode d’ordre 2 est assez peu utilisée, elle utilise l’intégration par trapèzes.
La méthode d’ordre 4 utilise une approximation par une parabole : elle demande plus de calculs que les précédentes mais donne des résultats bien plus précis. Comme c’est une méthode itérative, il faut moins d’itérations pour converger vers la solution, c’est donc plus rentable.
.
Pour un algorithme, voir ici (tu l’as déjà trouvé). Les coefficients k1 à k4 sont des valeurs prises par la fonction à intégrer en divers points et instants. Ils apparaissent dans le développement de la méthode mais n’ont pas de signification particulière. Tu peux juste remarquer une certaine symétrie dans leurs formules.

Un exemple d’implémentation sur Arduino ici.