2022-09-30 13:45:59 +02:00
|
|
|
import numpy as np
|
|
|
|
import matplotlib.pyplot as plt
|
|
|
|
|
2022-09-30 14:00:57 +02:00
|
|
|
# Aufgabe 2a
|
2022-09-30 13:45:59 +02:00
|
|
|
xmin = 1.99
|
|
|
|
xmax = 2.01
|
|
|
|
x_number_of_points = 500
|
|
|
|
xsteps = (xmax - xmin) / x_number_of_points
|
|
|
|
def f(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):
|
|
|
|
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)
|
2022-09-30 14:00:57 +02:00
|
|
|
plt.legend(["f(x)", "g(x)"])
|
2022-09-30 13:55:20 +02:00
|
|
|
plt.show()
|
|
|
|
print("min f: ", min(yf), "max f: ", max(yf))
|
|
|
|
print("min g: ", min(yg), "max g: ", max(yg))
|
|
|
|
|
2022-09-30 14:00:57 +02:00
|
|
|
# Die Werte sind sehr klein (von -e-14 bis e-14)
|
2022-09-30 13:55:20 +02:00
|
|
|
# sodass Rundungsfehler entstehen wenn die Werte als Fliesskommazahlen
|
2022-09-30 14:00:57 +02:00
|
|
|
# zwischengespeichert werden. In den zwei Funktionen f und g werden die
|
|
|
|
# Rechenoperationen in einer anderen Reihenfolge ausgeführt
|
|
|
|
|
|
|
|
# Aufgabe 2b
|