diff --git a/Schenk_Brandenberger_S2_Aufg2.py b/Schenk_Brandenberger_S2_Aufg2.py index 6b95f91..6de5d9a 100644 --- a/Schenk_Brandenberger_S2_Aufg2.py +++ b/Schenk_Brandenberger_S2_Aufg2.py @@ -6,26 +6,50 @@ xmin = 1.99 xmax = 2.01 x_number_of_points = 500 xsteps = (xmax - xmin) / x_number_of_points -def f(x): +def f1(x): return x ** 7 - 14 * x ** 6 + 84 * x ** 5 - 280 * x ** 4 + 560 * x ** 3 - 672 * x ** 2 + 448 * x - 128 -def g(x): +def f2(x): return (x - 2) ** 7 -x = np.arange(xmin, xmax + xsteps, xsteps) -yf = np.array([]) -yg = np.array([]) -for x_value in x: - yf = np.append(yf, f(x_value)) - yg = np.append(yg, g(x_value)) -plt.plot(x, yf) -plt.plot(x, yg) -plt.legend(["f(x)", "g(x)"]) -plt.show() -print("min f: ", min(yf), "max f: ", max(yf)) -print("min g: ", min(yg), "max g: ", max(yg)) +x1 = np.arange(xmin, xmax + xsteps, xsteps) +yf1 = np.array([]) +yf2 = np.array([]) +for x_value in x1: + yf1 = np.append(yf1, f1(x_value)) + yf2 = np.append(yf2, f2(x_value)) +plt.plot(x1, yf1) +plt.plot(x1, yf2) +plt.legend(["f1(x)", "f2(x)"]) +plt.figure() +print("min f1: ", min(yf1), "max f1: ", max(yf1)) +print("min f2: ", min(yf2), "max f2: ", max(yf2)) # Die Werte sind sehr klein (von -e-14 bis e-14) # sodass Rundungsfehler entstehen wenn die Werte als Fliesskommazahlen -# zwischengespeichert werden. In den zwei Funktionen f und g werden die +# zwischengespeichert werden. In den zwei Funktionen f1 und f2 werden die # Rechenoperationen in einer anderen Reihenfolge ausgeführt # Aufgabe 2b +xmin = -10 ** -14 +xmax = 10 ** -14 +xsteps = 10 ** -17 +def g(x): + return x / (np.sin(1 + x) - np.sin(1)) +x2 = np.arange(xmin, xmax + xsteps, xsteps) +yg = np.array([]) +for x_value in x2: + yg = np.append(yg, g(x_value)) +plt.plot(x2, yg) +plt.legend(["g(x)"]) +plt.figure() +print("min g: ", min(yg), "max g: ", max(yg)) + +# Die Berechnung des Grenzwertes für x --> 0 g(x) ist nicht stabil. +# Der Grenzwert scheint unendlich gross / klein zu sein. + +# Aufgabe 2c + + + +plt.show() + +