Numerieke Wiskunde VIII:
Nulpuntsbepaling met Bisectie

Een veel voorkomend wiskundig probleem is het berekenen van een snijpunt in de grafieken van twee functies. Je zou dat kunnen oplossen door de grafieken van die functies te tekenen en de coördinaten van het snijpunt uit de tekening af te lezen. De nauwkeurigheid van zo'n aanpak is echter beperkt; het is eigenlijk alleen bruikbaar als eerste schatting.

Er moet dus gerekend worden. Een algemeen toegepaste werkwijze is: de functievoorschriften van elkaar aftrekken en dan het punt berekenen waar de grafiek de X-as snijdt (dus waar Y = 0).
Een veel gebruikte methode heet Bisectie.

Een uitgewerkt voorbeeld
Vraag: wat is het snijpunt, x ≠ 0, van f(x) = 0.5·x2 en g(x) = 2·x ?

Grafiek Uitwerking: In het snijpunt is f(x) = g(x), daaruit volgt:
f(x) - g(x) = 0. Dat geeft de formule:
F(x) = 0.5·x2 - 2·x = 0.

stapx0x1x2 F(x0)F(x2)|x0 - x1| < ε
03.54.84.15-0.8750.311251.3nee
13.54.153.825-0.875-0.33468750.65nee
23.8254.153.9875-0.3346875-0.0249218750.325nee
33.98754.154.06875-0.0249218750.139863280.1625nee
43.98754.068754.028125-0.0249218750.0566455080.08125nee
53.98754.0281254.0078125-0.0249218750.0156555180.040625nee
6 3.98754.00781253.99765625-0.024921875-0.0046847530.020312nee
73.997656254.00781254.002734375-0.0046847530.0054724880.010156nee
8 3.997656254.0027343754.000195313-0.0046847530.0003906440.005078nee
93.997656254.000195313 3.998925781-0.004684753-0.0021478610.002539nee
103.9989257814.0001953133.999560547-0.002147861-0.0008788100.001270nee
113.9995605474.0001953133.999877930-0.000878810-0.0002441330.000635ja

Downloaden:
 
Druk op de knop: Download deze code  File: voorb658.zip, 4294 bytes.

Opmerking:
 
De analytische oplossing van F(x) = 0 gaat als volgt:
0.5·x2 - 2·x = x (0.5·x - 2) = 0 ⇒
x = 0 ∨ (0.5·x - 2) = 0 ⇔
x = 0 ∨ 0.5·x = 2 ⇒
x = 0 ∨ x = 4

Dit is ook te zien in de grafiek.

Opmerking:
 
Deze methode convergeert het snelste als de startwaarden symmetrisch t.o.v. het geschatte nulpunt worden gekozen. Dus als je verwacht dat x = 5.7, kies je bijvoorbeeld x0 = 5.1 en x1 = 6.3.
Het oplossen van een nulpunt in de buurt van nul kan problemen opleveren als je de startwaarden niet symmetrisch kiest ten opzichte van x = 0, bijvoorbeeld x0 = -0.1 en x1 = 0.15. Bij de hierboven uitgewerkte formule heb je met deze startwaarden aan 1000 stappen niet genoeg voor het vinden van een oplossing met ε = 0.1. Dat komt doordat na ca. 75 stappen de waarden van x0 en x1 niet meer veranderen doordat er niet genoeg decimalen zijn. De waarden blijven steken bij x0 = -0.1 en x1 ≈ 0.0333. Dan is |x0 - x1| > ε en wordt convergentie nooit bereikt. Maar kies je x0 = -0.1 en x1= +0.1, dan convergeert het proces al in stap 0!

 
terug

html-658; Laatste wijziging: 8 december 2021