mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-01-14 15:54:13 +01:00
Refactor code for improved readability and consistency across multiple Jupyter notebooks
- Added missing commas in various print statements and function calls for better syntax. - Reformatted code to enhance clarity, including breaking long lines and aligning parameters. - Updated function signatures to use float type for sigma parameters instead of int for better precision. - Cleaned up comments and documentation strings for clarity and consistency. - Ensured consistent formatting in plotting functions and data handling.
This commit is contained in:
@@ -113,9 +113,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def C(t):\n",
|
||||
" \"\"\"\n",
|
||||
" Fonction retournant la solution exacte du problème au temps t\n",
|
||||
" \"\"\"\n",
|
||||
" \"\"\"Fonction retournant la solution exacte du problème au temps t\"\"\"\n",
|
||||
" return K_star + K / (1 + (K / K0 - 1) * np.exp(-r * (t - t_fl)))\n",
|
||||
"\n",
|
||||
"\n",
|
||||
@@ -137,9 +135,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def dN(N, t, C_sol):\n",
|
||||
" \"\"\"\n",
|
||||
" Fonction calculant la dérivée de la solution approchée du problème à l'instant t dépendant de N(t) et de C(t)\n",
|
||||
" \"\"\"\n",
|
||||
" \"\"\"Fonction calculant la dérivée de la solution approchée du problème à l'instant t dépendant de N(t) et de C(t)\"\"\"\n",
|
||||
" return r_N * N * (1 - N / C_sol(t))\n",
|
||||
"\n",
|
||||
"\n",
|
||||
@@ -239,13 +235,19 @@
|
||||
"# On crée une figure à trois graphiques\n",
|
||||
"fig = plt.figure(figsize=(12, 6))\n",
|
||||
"ax = fig.add_subplot(\n",
|
||||
" 1, 2, 2\n",
|
||||
" 1,\n",
|
||||
" 2,\n",
|
||||
" 2,\n",
|
||||
") # subplot pour le champ de vecteurs et le graphe sardines vs requins\n",
|
||||
"axr = fig.add_subplot(\n",
|
||||
" 2, 2, 1\n",
|
||||
" 2,\n",
|
||||
" 2,\n",
|
||||
" 1,\n",
|
||||
") # subplot pour le graphe du nombre de requins en fonction du temps\n",
|
||||
"axs = fig.add_subplot(\n",
|
||||
" 2, 2, 3\n",
|
||||
" 2,\n",
|
||||
" 2,\n",
|
||||
" 3,\n",
|
||||
") # subplot pour le graphe du nombre de sardines en fonction du temps\n",
|
||||
"ax.quiver(sardines, requins, fsardines / n_sndmb, frequins / n_sndmb)\n",
|
||||
"\n",
|
||||
@@ -317,12 +319,10 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def crank_nicolson(y0, T, N, r):\n",
|
||||
" \"\"\"\n",
|
||||
" schéma de Crank-Nicolson pour le modèle de Malthus\n",
|
||||
" \"\"\"schéma de Crank-Nicolson pour le modèle de Malthus\n",
|
||||
"\n",
|
||||
" Parameters\n",
|
||||
" ----------\n",
|
||||
"\n",
|
||||
" y0: float\n",
|
||||
" donnée initiale\n",
|
||||
" T: float\n",
|
||||
@@ -334,13 +334,12 @@
|
||||
"\n",
|
||||
" Returns\n",
|
||||
" -------\n",
|
||||
"\n",
|
||||
" t: ndarray\n",
|
||||
" les instants où la solution approchée est calculée\n",
|
||||
" y: ndarray\n",
|
||||
" les valeurs de la solution approchée par le theta-schema\n",
|
||||
" \"\"\"\n",
|
||||
"\n",
|
||||
" \"\"\"\n",
|
||||
" dt = T / N\n",
|
||||
" t = np.zeros(N + 1)\n",
|
||||
" y = np.zeros(N + 1)\n",
|
||||
@@ -357,12 +356,10 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def euler_explicit(y0, T, N, r):\n",
|
||||
" \"\"\"\n",
|
||||
" schéma de d'Euler pour le modèle de Malthus\n",
|
||||
" \"\"\"schéma de d'Euler pour le modèle de Malthus\n",
|
||||
"\n",
|
||||
" Parameters\n",
|
||||
" ----------\n",
|
||||
"\n",
|
||||
" y0: float\n",
|
||||
" donnée initiale\n",
|
||||
" T: float\n",
|
||||
@@ -374,11 +371,11 @@
|
||||
"\n",
|
||||
" Returns\n",
|
||||
" -------\n",
|
||||
"\n",
|
||||
" t: ndarray\n",
|
||||
" les instants où la solution approchée est calculée\n",
|
||||
" y: ndarray\n",
|
||||
" les valeurs de la solution approchée par le theta-schema\n",
|
||||
"\n",
|
||||
" \"\"\"\n",
|
||||
" dt = T / N\n",
|
||||
" t = np.zeros(N + 1)\n",
|
||||
@@ -396,9 +393,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def solution_exacte(t):\n",
|
||||
" \"\"\"\n",
|
||||
" Fonction calculant la solution exacte du modèle de Malthus à l'instant t\n",
|
||||
" \"\"\"\n",
|
||||
" \"\"\"Fonction calculant la solution exacte du modèle de Malthus à l'instant t\"\"\"\n",
|
||||
" return y0 * np.exp(r * t)"
|
||||
]
|
||||
},
|
||||
@@ -462,7 +457,10 @@
|
||||
"ax = fig.add_subplot(1, 2, 2)\n",
|
||||
"for n in liste_N:\n",
|
||||
" t, y = crank_nicolson(\n",
|
||||
" y0, T, n, r\n",
|
||||
" y0,\n",
|
||||
" T,\n",
|
||||
" n,\n",
|
||||
" r,\n",
|
||||
" ) # On calcule la fonction Crank-Nicolson pour chaque n\n",
|
||||
" ax.scatter(t, y, label=f\"Solution approchée pour N={n}\")\n",
|
||||
"ax.plot(t_exact, solution_exacte(t_exact), label=\"Solution exacte\")\n",
|
||||
|
||||
Reference in New Issue
Block a user