© h.hofstede (h.hofstede@hogeland.nl)

De methode van Newton-Raphson
       
Deze methode is een belangrijke toepassing van afgeleides. Stel dat je een vergelijking hebt die te moeilijk is om op te lossen. Dan doe je dat van nood maar met calc - intersect van je GR, of met één of andere computer. Daar zijn programma's zat voor.  Zo'n oplossing is dan niet algebraïsch, maar een (meestal hele goede) benadering. Methodes die met een computer zulke goede benaderingen kunnen opsporen heten numerieke methodes. De methode die we in deze les behandelen is één van de beroemdsten daarvan.

Nulpunten bepalen.

De meeste vergelijkingen die je moet oplossen kun je veranderen in het bepalen van de nulpunten van een functie.
Kijk maar:

2x + 4 = 8x  oplossen is hetzelfde als  2x + 4 - 8x = 0  oplossen. Dus de nulpunten van f(x) = 2x + 4 - 8x
sinx = 23x  oplossen is hetzelfde als  sinx - 23x = 0 oplossen. Dus de nulpunten van  f(x) = sinx - 23x

In het algemeen is  f(x) =  g(x) oplossen hetzelfde als de nulpunten van f(x) - g(x) bepalen.
Ofwel:

Als je nulpunten kunt bepalen kun je ook vergelijkingen oplossen

       
Laten we de functie f(x) hiernaast nemen.
Dat is f(x) = x3 - 3,5x2 + 4.

Daar ergens tussen 1,2 en 1,6 zit een nulpunt, maar de vergelijking f(x) = 0 is te moeilijk om op te lossen (tenminste voor mij!).

1.  Een nogal slome manier als voorbeeld.

Stel dat je op de één of andere manier hebt ontdekt dat
f
(0) = 4 en  f(2) = -2
Dan weet je dat daar ergens tussen in de functie nul moet zijn.

 

Probeer daarom het midden tussen x = 0 en x = 2. Dat is x = 1 en f(1) = 1,5.
Dus nu weet je al dat het nulpunt tussen x = 1 en x = 2 zal zitten

Probeer daarom het midden tussen x = 1 en x = 2. Dat is x = 1,5  en  f(1,5) = -0,5.
Dus nu weten we al dat het nulpunt tussen x = 1 en x = 1,5 zal zitten.

Probeer daarom het midden tussen x = 1 en x = 1,5. Dat is x = 1,25  en  f(1,5) = 0,484375.
Dus nu weet je al dat het nulpunt tussen x = 1,25 en x = 1,5 zal zitten.

Probeer daarom het midden tussen x = 1,25 en x = 1,5. Dat is x = 1,375  en  f(1,375) = -0,0175781
Dus nu weten we al dat het nulpunt tussen x = 1,25 en x = 1,375 zal zitten.

Probeer daarom het midden tussen x = 1,25 en x = 1,375. Dat is x = 1,3125  en  f(1,3125) = 0,2316....
Dus nu weet je al dat het nulpunt tussen x = 1,3125 en x = 1,375 zal zitten.
       
Ik hoop eigenlijk dat je dit nogal saai begint te vinden.
Ik wel namelijk......
't Is gewoon steeds hetzelfde.
Echt een werkje om door een computer te laten uitvoeren.

Je zou een recept voor een computer kunnen schrijven waarin precies staat wat hij moet berekenen. Zo'n recept heet een algoritme en zou er in dit geval zó uit kunnen zien als hiernaast.

In het rode blokje begin je met L (=linkerkant van het nulpunt) en R (= rechterkant van het nulpunt).
In het oranje blokje neem je een x-waarde (G)  daar midden tussen in.
In het groene blokje kijk je of de functie bij die nieuwe x-waarde positief of negatief is.
Als de functie positief is, dan moet de linkergrens aangepast worden, en als de functie negatief is, dan moet de rechtergrens aangepast worden. Dat gebeurt in beide onderste gele blokjes.
Met die nieuwe grenzen begint het hele verhaal weer opnieuw......

   
Als je jouw computer dit (in één of andere programmeertaal) duidelijk kunt maken dan zal hij alsmaar door blijven rekenen en met de waarde van G steeds dichter bij het echte nulpunt komen.

Misschien is het toch handig om je computer te laten stoppen als je bijvoorbeeld dichter dan 0,000001 bij y = 0 bent gekomen.

Dan zou je de uitbreiding hiernaast kunnen gebruiken.
In het grijze blokje wordt gekeken of f(G) dichter dan 0,000001 bij nul ligt.

Vlak vóór dat blauwe stop-blokje zou ik trouwens mijn computer nog wel eerst even de opdracht geven om G te printen......

Met deze methode berekent je computer achtereenvolgens de benaderingen:
0    2    1   1,5    1,25  1,375    1,3125 .....

Langzaamaan kom je in de buurt van het echte nulpunt.
Als je het nulpunt in 10 cijfers achter de komma wilt hebben, dan kan dat zo wel even duren.
 

Dat moet sneller kunnen....
(mijn GR gaf namelijk binnen een paar seconden met CALC - ZERO de waarde 1,3705565)
     
2.  Een veel snellere manier.
     
De methode van Newton-Raphson is een veel snellere manier om zo'n nulpunt te benaderen. Dat gaat met behulp van raaklijnen, en ongeveer volgens het algoritme hiernaast.

(Om je computer op een bepaald moment te laten stoppen zou je op punt (1) weer zo'n test of | f(S) | < 0,000001  kunnen invoegen, net zoals in het voorbeeld hierboven).

De drie stappen in de oranje blokjes kun je ook met één formule maken.

• als x
= S, dan is  y = f(S) en de helling van de raaklijn is f '(S)
• de raaklijn is dan  y = f '(S)•x + b
punt (S, f(S)) invullen geeft  f(S) = f '(S)•S + b
• dus b = f(S) - f '(S)•S en de raaklijn is  y = f ' (S)•x + f(S) - f '(S)•S
• snijden met de x-as geeft:

     
In het voorbeeld hierboven is f(x) = x3 - 3,5x2 + 4dus is  f '(x) = 3x2 - 7x.
Neem als eerste schatting bijvoorbeeld S = 0,4
De tweede schatting is dan  S2 = 0,4 - f(0,4)/f '(0,4) = 0,4 - 3,504/-2,32 = 1,910344
De derde schatting is dan S3 = 1,910344 - f(1,910344)/f '(1,910344) = 1,910344 - -1,801313/-2,424165 = 1,167278
De vierde schatting is dan S4 = 1,167278 - f(1,167278)/f(1,167278) = 1,167278 - 0,821578/-4,083332 = 1,368481
De vijfde schatting is dan S5 = 1,368481 - f(1,368481)/f '(1,368481) = 1,368481 - 0,008219/-3,961146  = 1,37056

Zoals je ziet gaat dat veel en veel sneller naar de echte waarde (1,3705565) toe dan die methode hierboven.
Dat kun je ook zien door in de grafiek te tekenen wat er nou precies gebeurt:
       

       
Vooral "op het eind" als de raaklijn bijna gelijk is aan de grafiek zelf, dan gaat die waarde van S razendsnel naar de werkelijke waarde. Die beginwaarde was hier (expres) erg onnauwkeurig gekozen. Met een betere beginwaarde was je nog veel sneller in het nulpunt aanbeland.

N.B. 1.
Als het er niet om gaat dat | f(S) | < 0,000001 maar als je zeker wilt weten dat je S zélf in zes decimalen nauwkeurig hebt, dan kun je het best stoppen als een nieuwe S tot in zes cijfers achter de komma gelijk is aan de vorige.

N.B. 2.
De methode werkt niet altijd!!
Neem bijvoorbeeld de vergelijking  x1/3 = 0  (ja, ik weet ook heus wel dat de oplossing x = 0 is, maar daar gaat het even niet om).  Als je als eerste benadering kiest S1 = 1 dan geeft de methode achtereenvolgens  S2 = -2, S3 = 4, S4 = -8, S5 = 16, ....  We raken steeds verder van het echte nulpunt af!

Een ook bij de vergelijking x = 0 met bijvoorbeeld S1 = 1, geeft dat  S2 = -1  en daar bestaat de functie helemaal niet, dus een volgende S is niet meer te berekenen.
       
         
1. Benader de oplossingen van de volgende vergelijkingen tot vijf cijfers achter de komma met de methode van Newton-Raphson.
         
  a. cosx = x  op interval  [0, 2]    
       

0,73909

  b. x5 + 7x = 4x4 - 3  op interval  [1, 2]    
       

1,53758

         
         
       

© h.hofstede (h.hofstede@hogeland.nl)