In deze oefening bouwen we een klasse LineaireBenadering. Deze klasse berekent een lineaire benadering $$L(x)$$ voor een willekeurige functie $$f(x)$$ in één reële variabele $$x$$ in het punt $$a$$, via:

$$ L(x) = f(a) + f'(a)(x-a) $$

De afgeleide van de functie $$f(x)$$ berekenen we via

$$ f'(x) \approx \frac{f(x + h) - f(x)}{h} $$

Het is de bedoeling dat de objecten van deze klasse "callable" zijn, en dat ze dus via de functie-syntax oproepbaar zijn. Programmeer een constructor met drie argumenten, namelijk de te benaderen functie $$f$$, het punt $$a$$ waarrond de benadering moet gelden en de waarde voor $$h$$ met als defaultwaarde 1e-10 (je mag veronderstellen dat $$h > 0 $$).

Voorbeeld

v = LineaireBenadering(lambda x:x**2 + 1, 1.0)
print(v(2.0))  # 4.000000165480742