Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| technique:integration_rk4 [2026/08/12 02:18] – Corrections factuelles : integrateur reel des outils, k2/k3 au meme instant, 6-DOF, pas fixe, spin drift post-integration, references Lepigeon | technique:integration_rk4 [2026/08/14 21:41] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| # L' | # L' | ||
| - | Les équations de la balistique — intérieure comme extérieure — n' | + | Les équations de la balistique — intérieure comme extérieure — n' |
| - | Cette page décrit | + | Cette page part du problème lui-même, expose la méthode la plus élémentaire qui le résout — celle d'Euler — puis ce que RK4 y ajoute, et décrit enfin la façon dont l' |
| - | ## Pourquoi | + | ## Le problème, posé simplement |
| + | |||
| + | Un calculateur balistique répond à une question banale : **où est la balle, et à quelle vitesse, une seconde après le départ du coup ?** Ce qu'on lui donne pour cela n'est pas une trajectoire, | ||
| + | |||
| + | * **l'état initial** — position et vitesse à la bouche ; | ||
| + | * **une règle de changement** — pour un état donné, on sait calculer l' | ||
| + | |||
| + | Toute la difficulté tient au fait que cette règle ne donne **jamais la position directement**. Elle ne donne que la *tendance* : de combien la vitesse est en train de changer, à cet instant précis, dans cet état précis. Et cette tendance change avec l' | ||
| + | |||
| + | C'est ce que les mathématiques appellent une **équation différentielle** : une relation qui ne dit pas ce que vaut la quantité cherchée, mais à quelle vitesse elle varie. Elle s' | ||
| + | |||
| + | $$ \frac{dy}{dt} = f(t, y) $$ | ||
| + | |||
| + | À gauche, la variation de l' | ||
| + | |||
| + | Le cas d' | ||
| + | |||
| + | $$ \frac{dv}{dt} = -g \quad \Longrightarrow \quad v = -gt \quad \Longrightarrow \quad h = -\frac{1}{2}gt^2 $$ | ||
| + | |||
| + | La formule obtenue donne la hauteur à n' | ||
| + | |||
| + | Il reste alors une méthode dont personne ne peut nous priver : **avancer par petits pas**. On connaît l' | ||
| + | |||
| + | Cette approche s' | ||
| + | |||
| + | ## Pourquoi aucune formule ne s'y substitue | ||
| Sur un projectile en vol : | Sur un projectile en vol : | ||
| Ligne 15: | Ligne 40: | ||
| L' | L' | ||
| - | L'**intégration numérique** contourne | + | Ces lois de traînée simplifiées gardent malgré tout une utilité : elles servent d'**étalon**. C'est ce qui permet, plus bas, de chiffrer |
| + | |||
| + | L' | ||
| + | |||
| + | ## La méthode d' | ||
| + | |||
| + | La façon la plus directe de franchir un pas consiste à prendre la tendance telle qu' | ||
| + | |||
| + | $$ y_{n+1} = y_n + \Delta t \cdot f(t_n, y_n) $$ | ||
| + | |||
| + | C'est la **méthode d' | ||
| + | |||
| + | Son défaut se lit dans cette description même. La tendance était juste **au départ du pas**, et seulement là ; dès qu'on a bougé, elle ne l'est plus. Une balle qui ralentit subit une traînée d' | ||
| + | |||
| + | <WRAP round tip> | ||
| + | **Le banc d' | ||
| + | |||
| + | $$ v(t) = \frac{v_0}{1 + k v_0 t} $$ | ||
| + | |||
| + | C'est tout l' | ||
| + | </ | ||
| + | |||
| + | Prenons un seul pas de $\Delta t = 0{,}1$ s depuis la bouche. À 800 m/s, la décélération vaut 581 m/s², soit près de 59 g. Euler en conclut : | ||
| + | |||
| + | $$ v = 800 - 0{,}1 \times 581{,}1 = 741{,}9\ \text{m/s} $$ | ||
| + | |||
| + | La solution exacte donne 745,8 m/s. En un seul pas, **3,9 m/s d' | ||
| + | |||
| + | ### L' | ||
| + | |||
| + | Le remède évident est de raccourcir le pas : la tangente s' | ||
| + | |||
| + | Une méthode est d' | ||
| + | |||
| + | | Pas de temps | Erreur d' | ||
| + | | :--- | ---: | ---: | | ||
| + | | 0,1 s | −11,18 m/s | 8 × 10⁻⁵ m/s | | ||
| + | | 0,05 s | −5,45 m/s | 5 × 10⁻⁶ m/s | | ||
| + | | 0,025 s | −2,69 m/s | 3 × 10⁻⁷ m/s | | ||
| + | | 0,0125 s | −1,34 m/s | 2 × 10⁻⁸ m/s | | ||
| + | |||
| + | Chaque ligne divise le pas par deux. La colonne Euler se divise par deux, la colonne RK4 par seize. L' | ||
| + | |||
| + | C'est la raison de fond pour laquelle personne n' | ||
| ## Le principe de RK4 | ## Le principe de RK4 | ||
| - | L'algorithme ne se contente pas de prolonger | + | L'idée de Runge et Kutta est que la faiblesse |
| Pour chaque pas de temps $\Delta t$, RK4 évalue **quatre fois** la dérivée, réparties sur **trois instants** de l' | Pour chaque pas de temps $\Delta t$, RK4 évalue **quatre fois** la dérivée, réparties sur **trois instants** de l' | ||
| Ligne 34: | Ligne 102: | ||
| $$ y_{n+1} = y_n + \frac{\Delta t}{6} \left( k_1 + 2k_2 + 2k_3 + k_4 \right) $$ | $$ y_{n+1} = y_n + \frac{\Delta t}{6} \left( k_1 + 2k_2 + 2k_3 + k_4 \right) $$ | ||
| - | Le poids double accordé à $k_2$ et $k_3$, les évaluations centrales, revient à privilégier le milieu du pas — c'est ce qui fait la précision de la formule. | + | Le poids double accordé à $k_2$ et $k_3$, les évaluations centrales, revient à privilégier le milieu du pas — c'est ce qui fait la précision de la formule. |
| + | |||
| + | ![Panneau A : cinq pas d' | ||
| + | |||
| + | Sur le même pas de 0,1 s que tout à l' | ||
| + | |||
| + | ### Quatre évaluations, | ||
| + | |||
| + | L' | ||
| + | |||
| + | La comparaison honnête se fait donc à **budget égal**. Reprenons la balle du banc d' | ||
| + | |||
| + | | Méthode et pas | Évaluations | Écart sur la distance | Écart sur la chute | | ||
| + | | :--- | ---: | ---: | ---: | | ||
| + | | Euler, $\Delta t = 0{,}1$ s | 12 | +8,40 m | −33,1 cm | | ||
| + | | Euler, $\Delta t = 0{,}025$ s | 48 | +2,06 m | −8,2 cm | | ||
| + | | **RK4, $\Delta t = 0{,}1$ s** | **48** | **< 1 mm** | **+0,0004 cm** | | ||
| + | | Euler, $\Delta t = 0{,}0005$ s | 2 400 | +4,1 cm | −0,16 cm | | ||
| + | |||
| + | À budget strictement identique — 48 évaluations de la dérivée — Euler place la balle deux mètres trop loin et huit centimètres trop haut ; RK4 tombe sous le millimètre. Et même en lui accordant cinquante fois plus de travail, Euler reste plus grossier que RK4 au pas le plus large. C'est tout l' | ||
| + | |||
| + | <WRAP round tip> | ||
| + | **Ce que ces écarts ne sont pas.** Ils mesurent la fidélité de l' | ||
| + | </ | ||
| ### Un pas fixe, sans contrôle d' | ### Un pas fixe, sans contrôle d' | ||
| Ligne 40: | Ligne 131: | ||
| Nos solveurs avancent à **pas constant**, choisi une fois pour toutes : $\Delta t = 0{,}0005$ s pour la trajectoire extérieure, | Nos solveurs avancent à **pas constant**, choisi une fois pour toutes : $\Delta t = 0{,}0005$ s pour la trajectoire extérieure, | ||
| - | Les intégrateurs à **pas adaptatif** — Runge-Kutta-Fehlberg, | + | Les intégrateurs à **pas adaptatif** — Runge-Kutta-Fehlberg, |
| ## Application vectorielle | ## Application vectorielle | ||
| Ligne 57: | Ligne 148: | ||
| ### Et le 6-DOF ? | ### Et le 6-DOF ? | ||
| - | Un modèle **6-DOF** suit en plus l' | + | Un modèle **6-DOF** suit en plus l' |
| - | Ils ne sont publiés pour presque aucune balle du commerce | + | Ils ne sont publiés pour presque aucune balle du commerce. Mais la raison de fond tient au vol lui-même, et McCoy l'énonce sans détour [5] : **le 6-DOF n'est pas nécessaire au travail courant |
| + | |||
| + | L' | ||
| ## Quel outil intègre quoi | ## Quel outil intègre quoi | ||
| Ligne 71: | Ligne 164: | ||
| ## Références | ## Références | ||
| - | 1. C. Runge — //Über die numerische Auflösung von Differentialgleichungen//, | + | Par ordre alphabétique |
| - | 2. W. Kutta — //Beitrag zur näherungsweisen Integration totaler Differentialgleichungen//, | + | |
| - | 3. J. C. Butcher | + | 1. Butcher, |
| - | 4. E. Hairer, S. P. Nørsett, G. Wanner | + | 2. Hairer, E., Nørsett, S. P. & Wanner, G. — //Solving Ordinary Differential Equations I: Nonstiff Problems//, Springer, 2ᵉ éd., 1993 (Springer Series in Computational Mathematics, |
| - | 5. R. L. McCoy — //Modern Exterior Ballistics//, | + | 3. Kutta, W. — //Beitrag zur näherungsweisen Integration totaler Differentialgleichungen//, |
| + | 4. McCoy, | ||
| + | 5. McCoy, R. L. — //Modern Exterior Ballistics: The Launch and Flight Dynamics of Symmetric Projectiles//, Schiffer, 2ᵉ éd., 2012. Modèles | ||
| + | 6. Runge, C. — //Ueber die numerische Auflösung von Differentialgleichungen//, | ||
| ## Voir aussi | ## Voir aussi | ||
| Ligne 84: | Ligne 180: | ||
| - [Calculateur balistique](https:// | - [Calculateur balistique](https:// | ||
| - [Consolidated Competition Ballistics (PDF)](https:// | - [Consolidated Competition Ballistics (PDF)](https:// | ||
| + | |||
| + | //**Page vérifiée.** Le code des trois outils cités a été relu et le solveur 3-DOF ré-exécuté le 2026-08-12 : [[verification: | ||
technique/integration_rk4.1786501129.txt.gz · Dernière modification : de Lepigeon