Ich soll von einer Funktion das Integral berechnen. Ich habe es so gemacht:
def funktion(x):
return x**3 - 2 * x**2 + x - 3
print(funktion(0)) # Beispielberechnung von Funktionswert an Stelle x = 0
def integrate(start, end, step):
fläche = 0
while start < end:
fläche += funktion(start) * step
start += step
return fläche
def adaptive_anpassung(toleranz):
tolernaz = 0.01
ergebnis = integrate(start, end, step)
neues_ergebnis = integrate(start, end, step / 2)
while abs(ergebnis - neues_ergebnis) > tolernaz:
neues_ergebnis = integrate(start, end, step / 2)
#Beispielaufruf
start = 0
end = 2
step = 0.001
print(integrate(start, end, step))
Zusätzlich soll ich eine Funktion implementieren, die schrittweise den Wert step verkleinert, bis die Veränderungen des Ergebnisses der integrate-Funktion kleiner als 0.01 ist. Ich habe die Funktion adaptive_anpassung genannt, aber irgendwie will es nicht. Kann mir jemand helfen?