Solved Task 2b
This commit is contained in:
parent
f60b666cbf
commit
bd928b6a3a
|
@ -6,26 +6,50 @@ xmin = 1.99
|
||||||
xmax = 2.01
|
xmax = 2.01
|
||||||
x_number_of_points = 500
|
x_number_of_points = 500
|
||||||
xsteps = (xmax - xmin) / x_number_of_points
|
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
|
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
|
return (x - 2) ** 7
|
||||||
x = np.arange(xmin, xmax + xsteps, xsteps)
|
x1 = np.arange(xmin, xmax + xsteps, xsteps)
|
||||||
yf = np.array([])
|
yf1 = np.array([])
|
||||||
yg = np.array([])
|
yf2 = np.array([])
|
||||||
for x_value in x:
|
for x_value in x1:
|
||||||
yf = np.append(yf, f(x_value))
|
yf1 = np.append(yf1, f1(x_value))
|
||||||
yg = np.append(yg, g(x_value))
|
yf2 = np.append(yf2, f2(x_value))
|
||||||
plt.plot(x, yf)
|
plt.plot(x1, yf1)
|
||||||
plt.plot(x, yg)
|
plt.plot(x1, yf2)
|
||||||
plt.legend(["f(x)", "g(x)"])
|
plt.legend(["f1(x)", "f2(x)"])
|
||||||
plt.show()
|
plt.figure()
|
||||||
print("min f: ", min(yf), "max f: ", max(yf))
|
print("min f1: ", min(yf1), "max f1: ", max(yf1))
|
||||||
print("min g: ", min(yg), "max g: ", max(yg))
|
print("min f2: ", min(yf2), "max f2: ", max(yf2))
|
||||||
|
|
||||||
# Die Werte sind sehr klein (von -e-14 bis e-14)
|
# Die Werte sind sehr klein (von -e-14 bis e-14)
|
||||||
# sodass Rundungsfehler entstehen wenn die Werte als Fliesskommazahlen
|
# 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
|
# Rechenoperationen in einer anderen Reihenfolge ausgeführt
|
||||||
|
|
||||||
# Aufgabe 2b
|
# 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()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue