From f60c7d937c594d17339f9ad159eba5f763c3187a Mon Sep 17 00:00:00 2001
From: Olivier Cots <66357348+ocots@users.noreply.github.com>
Date: Fri, 29 Sep 2023 13:14:32 +0200
Subject: [PATCH] update tp RK

---
 tp/runge-kutta.ipynb | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/tp/runge-kutta.ipynb b/tp/runge-kutta.ipynb
index 2d2a98c..891643e 100644
--- a/tp/runge-kutta.ipynb
+++ b/tp/runge-kutta.ipynb
@@ -15,7 +15,25 @@
     "\n",
     "## Introduction\n",
     "\n",
-    "Nous allons dans ce TP, implémenter quelques méthodes de Runge-Kutta et étudier leur convergence. On considère un pas de temps $h$ uniforme."
+    "Nous allons dans ce TP, implémenter quelques méthodes de Runge-Kutta et étudier leur convergence. On considère un pas de temps $h$ uniforme. On rappelle qu'ue méthode à un pas explicite est **convergente** si pour toute solution $x(\\cdot, t_0, x_0)$, la suite ${(x_i)}_i$ définie par $x_{i+1} = x_i + h\\, \\Phi(t_i, x_i, h)$ vérifie \n",
+    "$$\n",
+    "    \\max_{1 \\le i \\le N}\\, \\|{x(t_i, t_0, x_0) - x_i}\\| \\to 0 \n",
+    "    \\quad\\text{quand}\\quad h \\to 0.\n",
+    "$$\n",
+    "\n",
+    "Si la convergence est d'ordre $p$ alors il existe une constante $C \\ge 0$ telle que\n",
+    "\n",
+    "$$\n",
+    "    E := \\max_{1 \\le i \\le N}\\, \\|{x(t_i, t_0, x_0) - x_i}\\| \\le C\\, h^p.\n",
+    "$$\n",
+    "\n",
+    "Faisons l'hypothèse que $E = M\\, h^p$ pour un certain $M \\ge 0$. En passant au logarithme, on obtient\n",
+    "\n",
+    "$$\n",
+    "    \\log(E) = \\log(M) + p\\, \\log(h).\n",
+    "$$\n",
+    "\n",
+    "Nous en déduisons que si on trace $\\log(E)$ en fonction de $\\log(h)$, on doit obtenir une droite de pente $p$. C'est ce que nous allons vérifier dans ce TP."
    ]
   },
   {
@@ -171,7 +189,7 @@
     "    println(\"ordre de convergence : p = $(round(p, digits=5))\")\n",
     "\n",
     "    # Affichage de l'erreur en fonction du pas de temps: on enlève la constante K\n",
-    "    plot!(plts[1], hspan, err ./ K, xaxis=:log, yaxis=:log, label=\"$method_name\", marker=:circle)\n",
+    "    plot!(plts[1], hspan, err, xaxis=:log, yaxis=:log, label=\"$method_name\", marker=:circle)\n",
     "\n",
     "    # Affichage de la droite de régression\n",
     "    #plot!(plt, hspan, hspan .^ p, label=\"$method_name Regression\", linestyle=:dash)\n",
@@ -197,7 +215,7 @@
     "\n",
     "    # Affchage de l'erreur en fonction du nombre d'appels à la fonction f\n",
     "    # Nfespan = methode_stages .* Nspan\n",
-    "    plot!(plts[2], Nfespan, err ./ K, xaxis=:log, yaxis=:log, label=\"$method_name\", marker=:circle)\n",
+    "    plot!(plts[2], Nfespan, err, xaxis=:log, yaxis=:log, label=\"$method_name\", marker=:circle)\n",
     "\n",
     "    # Mise en forme du graphique\n",
     "    plot!(plts[2], xlims=xlims_nfe, ylims=ylims_nfe)\n",
-- 
GitLab