Om nulpunten van de functie $$f$$ te vinden, zijn verschillende algoritmen voorhanden, waaronder het bisectie-algoritme. Een probleem bij dit algoritme is dat je als startpunt over de waarde $$x_1$$ en $$x_2$$ moet beschikken, waarvoor geldt dat $$f(x_1)f(x_2)<0$$. Hier programmeren we een strategie om, uitgaande van een beginschatting van een nulpunt $$x_0$$ dergelijke waarde $$x_1$$ en $$x_2$$ te vinden.
De strategie gaat als volgt:
Programmeer de functie insluiten()
met als argumenten:
f
: de functie waarvan je nulpunten wil vinden x0
: een beginschatting voor dit nulpunt h
: startwaarde voor de parameter $$h$$, je mag aannemen dat $$h > 0$$ max_iter
: maximaal aantal iteraties print(insluiten(lambda x:x**2-2, 4, 0.01, 100)) #(-1.12, 9.12) print(insluiten(lambda x:x**2+4, 4, 0.01, 100)) #(4.0, 4.0)