From 0c537f6667617a4991f182f7cd3f742c0f3301a7 Mon Sep 17 00:00:00 2001 From: Namu Date: Sun, 19 Oct 2025 21:56:29 +0200 Subject: [PATCH] Fix: Correct dichotimie --- ex5.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ex5.py b/ex5.py index 709c207..24eeef0 100644 --- a/ex5.py +++ b/ex5.py @@ -4,22 +4,22 @@ import numpy as np new_raph_steps = [] dich_steps = [] + def f(x) -> float: return np.exp(x) - 2 * np.cos(x) def dichotomie(a, b, epsilon=1e-6, n=0) -> float: x = (a + b) / 2 - - delta = f(a) * f(x) + alpha = f(a) * f(x) dich_steps.append(x) # si on veut afficher les étapes if np.abs(b - a) <= epsilon: return x - if delta < 0: + if alpha < 0: return dichotomie(a, x, epsilon, n+1) - elif delta == 0: + elif alpha == 0: return x else: return dichotomie(x, b, epsilon, n+1) @@ -46,13 +46,13 @@ def newton_raphson(x_0, epsilon, max_iter=1_000) -> float | None: if np.abs(fx) < epsilon: return x elif fpx == 0: - return None + raise RuntimeError("Dérivée nulle : échec de Newton-Raphson.") x = x - (fx / fpx) new_raph_steps.append(x) if np.abs(x - x_prev) < epsilon: return x - return None + raise RuntimeError(f"Newton-Raphson n'a pas convergé en {max_iter} itérations.") def ex1() -> None: