mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-01-14 13:54:06 +01:00
Refactor error messages and function signatures across multiple notebooks for clarity and consistency
- Updated error messages in Gauss method and numerical methods to use variables for better readability. - Added return type hints to function signatures in various notebooks to improve code documentation. - Corrected minor grammatical issues in docstrings for better clarity. - Adjusted print statements and list concatenations for improved output formatting. - Enhanced plotting functions to ensure consistent figure handling.
This commit is contained in:
@@ -160,7 +160,8 @@
|
||||
" for i in range(n):\n",
|
||||
" x[i] = (b[i] - np.dot(A[i, :i], x[:i])) / A[i, i]\n",
|
||||
" else:\n",
|
||||
" raise ValueError(\"A est ni triangulaire supérieure ni triangulaire inférieure\")\n",
|
||||
" msg = \"A est ni triangulaire supérieure ni triangulaire inférieure\"\n",
|
||||
" raise ValueError(msg)\n",
|
||||
" return x"
|
||||
]
|
||||
},
|
||||
@@ -296,10 +297,12 @@
|
||||
"def met_gauss_sys(A, b):\n",
|
||||
" n, m = A.shape\n",
|
||||
" if n != m:\n",
|
||||
" raise ValueError(\"Erreur de dimension : A doit etre carré\")\n",
|
||||
" msg = \"Erreur de dimension : A doit etre carré\"\n",
|
||||
" raise ValueError(msg)\n",
|
||||
" if n != b.size:\n",
|
||||
" msg = \"Erreur de dimension : le nombre de lignes de A doit être égal au nombr ede colonnes de b\"\n",
|
||||
" raise valueError(\n",
|
||||
" \"Erreur de dimension : le nombre de lignes de A doit être égal au nombr ede colonnes de b\",\n",
|
||||
" msg,\n",
|
||||
" )\n",
|
||||
" U = np.zeros((n, n + 1))\n",
|
||||
" U = A\n",
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def C(t):\n",
|
||||
" \"\"\"Fonction retournant la solution exacte du problème au temps t\"\"\"\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",
|
||||
@@ -135,7 +135,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def dN(N, t, C_sol):\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",
|
||||
" \"\"\"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",
|
||||
@@ -221,7 +221,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def F(X, t, a, b, c, d, p):\n",
|
||||
" \"\"\"Fonction second membre pour le système\"\"\"\n",
|
||||
" \"\"\"Fonction second membre pour le système.\"\"\"\n",
|
||||
" x, y = X\n",
|
||||
" return np.array([x * (a - p - b * y), y * (-c - p + d * x)])\n",
|
||||
"\n",
|
||||
@@ -319,7 +319,7 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def crank_nicolson(y0, T, N, r):\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",
|
||||
@@ -356,7 +356,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def euler_explicit(y0, T, N, r):\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",
|
||||
@@ -393,7 +393,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def solution_exacte(t):\n",
|
||||
" \"\"\"Fonction calculant la solution exacte du modèle de Malthus à l'instant t\"\"\"\n",
|
||||
" \"\"\"Fonction calculant la solution exacte du modèle de Malthus à l'instant t.\"\"\"\n",
|
||||
" return y0 * np.exp(r * t)"
|
||||
]
|
||||
},
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
],
|
||||
"source": [
|
||||
"def M(x):\n",
|
||||
" \"\"\"Retourne la matrice du système (2)\n",
|
||||
" \"\"\"Retourne la matrice du système (2).\n",
|
||||
"\n",
|
||||
" Parameters\n",
|
||||
" ----------\n",
|
||||
@@ -192,7 +192,7 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def sprime(x, y, p0, pN):\n",
|
||||
" \"\"\"Retourne la solution du système (2)\n",
|
||||
" \"\"\"Retourne la solution du système (2).\n",
|
||||
"\n",
|
||||
" Parameters\n",
|
||||
" ----------\n",
|
||||
@@ -272,7 +272,7 @@
|
||||
],
|
||||
"source": [
|
||||
"def f(x):\n",
|
||||
" \"\"\"Retourne la fonction f évaluée aux points x\n",
|
||||
" \"\"\"Retourne la fonction f évaluée aux points x.\n",
|
||||
"\n",
|
||||
" Parameters\n",
|
||||
" ----------\n",
|
||||
@@ -289,7 +289,7 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def fprime(x):\n",
|
||||
" \"\"\"Retourne la fonction dérivée de f évaluée aux points x\n",
|
||||
" \"\"\"Retourne la fonction dérivée de f évaluée aux points x.\n",
|
||||
"\n",
|
||||
" Parameters\n",
|
||||
" ----------\n",
|
||||
@@ -360,7 +360,7 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def splines(x, y, p0, pN):\n",
|
||||
" \"\"\"Retourne la matrice S de taille (4, N)\n",
|
||||
" \"\"\"Retourne la matrice S de taille (4, N).\n",
|
||||
"\n",
|
||||
" Parameters\n",
|
||||
" ----------\n",
|
||||
@@ -410,7 +410,7 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def spline_eval(x, xx, S):\n",
|
||||
" \"\"\"Evalue une spline définie par des noeuds équirepartis\n",
|
||||
" \"\"\"Evalue une spline définie par des noeuds équirepartis.\n",
|
||||
"\n",
|
||||
" Parameters\n",
|
||||
" ----------\n",
|
||||
@@ -433,13 +433,12 @@
|
||||
" \"\"\"\n",
|
||||
" ind = (np.floor((xx - x[0]) / (x[1] - x[0]))).astype(int)\n",
|
||||
" ind = np.where(ind == x.size - 1, ind - 1, ind)\n",
|
||||
" yy = (\n",
|
||||
" return (\n",
|
||||
" S[ind, 0]\n",
|
||||
" + S[ind, 1] * (xx - x[ind])\n",
|
||||
" + S[ind, 2] * (xx - x[ind]) ** 2\n",
|
||||
" + S[ind, 3] * (xx - x[ind]) ** 3\n",
|
||||
" )\n",
|
||||
" return yy"
|
||||
" )"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -215,7 +215,8 @@
|
||||
"source": [
|
||||
"def simpson(f, N):\n",
|
||||
" if N % 2 == 0:\n",
|
||||
" raise ValueError(\"N doit est impair.\")\n",
|
||||
" msg = \"N doit est impair.\"\n",
|
||||
" raise ValueError(msg)\n",
|
||||
"\n",
|
||||
" h = 2 / (2 * (N - 1) // 2)\n",
|
||||
" fx = f(np.linspace(-1, 1, N))\n",
|
||||
|
||||
@@ -534,7 +534,8 @@
|
||||
"def interp_vdm_poly(x, y):\n",
|
||||
" \"\"\"Compute the coefficients of the interpolation polynomial.\"\"\"\n",
|
||||
" if x.shape != y.shape:\n",
|
||||
" raise ValueError(\"x and y must have same dimension!\")\n",
|
||||
" msg = \"x and y must have same dimension!\"\n",
|
||||
" raise ValueError(msg)\n",
|
||||
" return np.linalg.solve(interp_vdm_build(x), y)"
|
||||
]
|
||||
},
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def point_fixe(f, x0, tol=1.0e-6, itermax=5000):\n",
|
||||
" \"\"\"Recherche de point fixe : méthode brute x_{n+1} = f(x_n)\n",
|
||||
" \"\"\"Recherche de point fixe : méthode brute x_{n+1} = f(x_n).\n",
|
||||
"\n",
|
||||
" Parameters\n",
|
||||
" ----------\n",
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"class ModeleSchelling:\n",
|
||||
" def __init__(self, M, p, L):\n",
|
||||
" def __init__(self, M, p, L) -> None:\n",
|
||||
" self.M = M\n",
|
||||
" self.p = p\n",
|
||||
" self.L = L\n",
|
||||
@@ -63,7 +63,7 @@
|
||||
"\n",
|
||||
" return grille\n",
|
||||
"\n",
|
||||
" def afficher_grille(self, title):\n",
|
||||
" def afficher_grille(self, title) -> None:\n",
|
||||
" color = plt.imshow(self.grille, cmap=\"coolwarm\", interpolation=\"nearest\")\n",
|
||||
" plt.colorbar(color)\n",
|
||||
" plt.title(title)\n",
|
||||
@@ -97,7 +97,7 @@
|
||||
" visited = np.zeros_like(self.grille, dtype=bool)\n",
|
||||
" clusters = []\n",
|
||||
"\n",
|
||||
" def dfs(i, j, groupe, cluster): # Depth-First Search\n",
|
||||
" def dfs(i, j, groupe, cluster) -> None: # Depth-First Search\n",
|
||||
" stack = [(i, j)]\n",
|
||||
"\n",
|
||||
" while stack:\n",
|
||||
@@ -136,7 +136,7 @@
|
||||
" S += int(clusters[i][1]) ** 2\n",
|
||||
" return S * 2 / (self.Ntot**2)\n",
|
||||
"\n",
|
||||
" def simuler(self, T=400, move_satisfaits=True):\n",
|
||||
" def simuler(self, T=400, move_satisfaits=True) -> None:\n",
|
||||
" for _t in range(1, int((1 - self.p) * self.M**2 * T)):\n",
|
||||
" agents = [\n",
|
||||
" (i, j)\n",
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def simule(a, b, n):\n",
|
||||
"def simule(a, b, n) -> None:\n",
|
||||
" X = np.random.gamma(a, 1 / b, n)\n",
|
||||
" intervalle = np.linspace(0, np.max(X), 100)\n",
|
||||
" plt.hist(X, bins=intervalle, density=True, label=\"Echantillon de X\")\n",
|
||||
|
||||
Reference in New Issue
Block a user