Numerieke methoden voor nulpuntsbepaling: Niet-lineaire vergelijkingen
Niet-lineaire vergelijkingen
Een lineaire vergelijking \(a\cdot x+b=0\), met parameters \(a\) en \(b\) en veranderlijke \(x\), is eenvoudig op te lossen. Anders gezegd, we kunnen gemakkelijk het nulpunt vinden van de lineaire functie \(f(x)=a\cdot x+b\). Wiskundigen noemen dit probleem ook wel het vinden van de wortel van de vergelijking \(f(x)=0\).
Er zijn ook niet-lineaire functies: in het hoofdstukken over wiskundige functies ben je er veel tegen gekomen. Ook van dergelijke functies en samenstellingen van deze functies wil je nulpunten kunnen bepalen. Dit is één van de meest voorkomende problemen in de toegepaste wiskunde en in vele andere toepassingsgebieden.
Voor de kwadratische functie \(f(x)=a\cdot x^2 + b\cdot x+c\) hebben we eerder besproken hoeveel reële nulpunten en onder welke voorwaarden er kunnen zijn en de abc-formule levert ze ook in formulevorm. Minder bekend is dat dit ook voor veeltermfuncties van graad drie of vier nog lukt, maar voor veeltermfuncties van graad vijf of hoger niet meer. Voor de meeste niet-lineaire functies kun je de nulpunten niet exact berekenen en moeten we tevreden zijn met de mogelijkheid om een numerieke benadering van een nulpunt te vinden met een van te voren gespecificeerde nauwkeurigheid.
Ook kan het aantal nulpunten van niet-lineaire functies elk natuurlijk getal of oneindig zijn. Onderstaande tabel met voorbeelden illustreert dit:\[\begin{array}{c|c} \mathrm{functie} & \mathrm{aantal\;nulpunten} \\ \hline e^x-x & 0 \\[2pt] e^x+x & 1 \\[2pt] e^2 -2 - x & 2 \\[2pt] \sin(x)-\frac{x}{2} & 3 \\[3pt] \cos(x)-\frac{x}{3\pi} & 4 \\[3pt] \sin(x)-\frac{2x}{5\pi} & 5 \\[3pt] \cos(x^2) & \infty \end{array}\]
In dit hoofdstuk bespreken we een aantal basismethoden en implementeren deze in Python. Experimenteel onderzoeken we het gedrag van de benaderingen en de afbreekfouten. Later, wanneer de wiskundekennis over differentiëren en afgeleide functies is opgefrist, zullen we meer geavanceerdere methoden bespreken en kunnen we ook ingaan op de foutenanalyse van numerieke methoden.
Veronderstelling We zullen steeds veronderstellen dat de functie \(f\) een 'nette' functie op het gesloten interval \([a,b]\) is en dat \(f(a)\) en \(f(b)\) verschillend teken hebben. Wat we precies met een 'nette' functie bedoelen laten we in het midden, maar de functies die we in deze cursus bestuderen hebben deze eigenschap. Alleen van belang is hier dat de tussenwaardestelling toepasbaar is en er dus een getal \(w\) in het open interval \((a,b)\) bestaat zodanig dat \(f(w)=0\). Met andere woorden, we zullen steeds veronderstellen dat er een nulpunt in het beschouwde gebied is.