|
©
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
+ 4, dus 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] |
|
|
|
|
|
|
|
|
b. |
x5 + 7x = 4x4
- 3 op interval [1, 2] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
©
h.hofstede (h.hofstede@hogeland.nl) |
|
|
|
|
|
|
|
|
|
|