From 59149464c4a932743da5af79ffefc4f9468a1e5b Mon Sep 17 00:00:00 2001 From: zimmersandro Date: Thu, 9 Apr 2026 14:43:02 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20newton=20verfahren=20f=C3=BCr=20cos=20f?= =?UTF-8?q?unktion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/optimierung/allgemeiner_newton_verfahren.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/optimierung/allgemeiner_newton_verfahren.py b/src/optimierung/allgemeiner_newton_verfahren.py index 4b26a95..f98b2b8 100644 --- a/src/optimierung/allgemeiner_newton_verfahren.py +++ b/src/optimierung/allgemeiner_newton_verfahren.py @@ -8,7 +8,8 @@ N = 200 x = sp.Symbol("x") # Funktion -f_sym = x**4 - 10 * x**2 + x +# f_sym = x**4 - 10 * x**2 + x +f_sym = -sp.cos(2 * sp.pi * x) # Ableitungen f = sp.lambdify(x, f_sym, "numpy") @@ -16,7 +17,8 @@ f_prime = sp.lambdify(x, sp.diff(f_sym, x), "numpy") f_second = sp.lambdify(x, sp.diff(f_sym, x, 2), "numpy") # Daten -x_data = np.linspace(-4, 4, N) +# x_data = np.linspace(-4, 4, N) +x_data = np.linspace(-3, 3, N) f_data = f(x_data) # Plot @@ -29,11 +31,12 @@ plt.show() # Newton Verfahren # Startwert -startwerte = [0.1] +startwerte = [0.01, 0.02, 0.05, 0.1, 0.2, 0.23, 0.24, 0.245, 0.248, 0.249, 0.2499] # Iterationsformel x_n = lambda x: x - f_prime(x) / np.abs(f_second(x)) +print(60 * "-") # Iteration for x_0 in startwerte: n = 0 @@ -51,4 +54,5 @@ for x_0 in startwerte: f_x_second = f_second(x_i) print(f"x_{n}: {x_i}\nf'(x_{n}): {f_x_prime}\nf''(x_{n}): {f_x_second}\n") limit -= 1 + print(60 * "-") # %%