Inleiding
In deze aflevering ga ik in op 3 verschillende manieren van worteltrekken. Onder worteltrekken versta ik hier het volgende: de omgekeerde bewerking van kwadrateren. Formeel is dit niet juist, maar in de praktijk wordt dat wel bedoeld. Formeel zouden we moeten zeggen dat worteltrekken de omgekeerde bewerking van machtsverheffen is. En dan zouden we de omgekeerde bewerking van kwadrateren de 2e-machts-worteltrekking moeten noemen. Maar in dit stuk doen we dat dus niet! Het doel alhier is te bepalen wat de wortel (√) van een getal is. Of in wiskundige notatie: √a=b, waarbij a=b2 en a gegeven en b gevraagd. In deze aflevering kijken we naar 3 verschillende manieren om dit te doen:
- de halverings-methode
- de Newton-Rahpson-methode
- de (ouderwetse) staartdeling-methode
De eerste twee zijn zgn. numerieke methoden, en zijn goed te programmeren. De derde methode is een typische “met-de-hand-zonder-rekenmachine-en/of-computer”-methode. We gaan alle drie de methoden duidelijk maken aan de hand van een voorbeeld. Het voorbeeld is √318.
De halverings-methode
Het algoritme (recept) gaat als volgt:
- Zoek twee getallen (a,b) waarvoor geldt dat a2 kleiner is dan het wortelgetal en b2 groter is dan het wortelgetal.
- Bepaal het gemiddelde van a en b, en kijk of het kwadraat van het gemiddelde groter of kleiner is dan het wortelgetal. Is het kleiner dan wordt a vervangen door het gemiddelde, anders wordt b vervangen door het gemiddelde.
Dus:
Laat x het wortelgetal zijn (√x), met a2<x<b2,
bepaal c=|a+b|/2.
Als c2<x, vervang a door c,
anders vervang b door c - Herhaal stap 2 tot gewenste nauwkeurigheid.
Wat je met het bovenstaande algoritme dus doet is het inerval [a,b] steeds kleiner maken.
We gaan ons voorbeeld (√318) met bovenstaande methode uitwerken.
Stap 1: zoek 2 getallen (a,b) met a2<318<b2. Hoera, gevonden: a=17 en b=18, want 289 (172)<318<324(182).
Stap2: Bepaal het gemiddelde van 17 en 18. Dat is niet zo moeilijk. Dat is nl. 17,5.
17,52=306,25 en dat is kleiner dan 318 en dus ga ik 17 vervangen door 17,5.
Stap 3: Herhaal stap 2, maar nu met 17,5 en 18. Zie onderstaande tabel:
a | b | gemiddelde | in het kwadraat |
17 | 18 | 17.5 | 306.25 |
17.5 | 18 | 17.75 | 315.0625 |
17.75 | 18 | 17.875 | 319.515625 |
17.75 | 17.875 | 17.8125 | 317.28515625 |
17.8125 | 17.875 | 17.84375 | 318.3994141… |
En zo voort…
Wat we zien is dat het interval gaat schommelen rond de 17,8. Dus √318 ≈ 17,8.
De Newton-Raphson-methode
Om deze methode te doorgronden moeten we toch even wat middelbare-school-wiskunde erbij halen.
Wanneer we √a willen weten, dan kunnen we zeggen dat we de oplossing(en) zoeken van de functie f(x)=x2-a. Ga maar na: √4 = 2 (of –2) en dat zijn precies de oplossingen van de functie f(x)=x2-4 bij nulstelling.
De Newton-Raphson-methode komt nu neer op het volgende:
xn+1=xn-[f(xn)/f ’(xn)], waarbij f ’(x) de afgeleide functie van f(x) is.
Wanneer we nu √a willen bepalen dan praten we over de functie f(x)=x2-a en die heeft als afgeleide functie f ’(x) = 2x.
Tot slot krijgen we dus: xn+1=xn-[f(xn)/f ’(xn)] = xn– [(xn2-a)/(2xn)]
En nu weer snel terug naar de praktijk, waarbij we het laatste hierboven genoemde gewoon als een formule zullen opvatten en als zodanig ook gebruiken.
Kies als start gewoon een getal als oplossing van √318. Laten we eens gek doen en nemen 2.
We zeggen x0=2.
Nu gaan we x1 uitrekenen: x1 = 2 – [(22-318)/(2*2)] = 2 – -78,5 = 80,5.
En nu verder met x2,3,4, … :
n | xn |
0 | 2 |
1 | 80,5 |
2 | 42,255… |
3 | 24,878… |
4 | 18,830… |
5 | 17,858… |
6 | 17,832… |
7 | 17,832… |
8 | 17,832… |
Dus √318 ≈ 17,832.
Het voordeel van deze methode boven de vorige is dat deze sneller naar het antwoord convergeert. Het nadeel is echter dat, voor degene die niet zo goed thuis zijn in functies, de onderliggende formule wel onthouden moet worden.
De staartdeling-methode
Deze methode werd vroeger, toen er nog geen rekenmachines, laat staan computers bestonden, nog wel eens toegepast om met de hand redelijk gemakkelijk een wortel uit te rekenen.
Ook deze methode is een algoritme en zullen we aan de hand van √318 gaan onderzoeken.
(1) De eerste stap bestaat uit het in groepjes van 2 cijfers verdelen van het getal, uitgaande van de komma. Er mogen daarbij naar believen aan linker- en rechterzijde nullen worden toegevoegd. Aan de rechterzijde natuurlijk alleen rechts van de komma!!!
Voor 318 krijgen we dan: 03 18 , 00 00
(2) De tweede stap is ook al niet moeilijk: Kies het grootste getal waarvan het kwadraat nog net kleiner (of gelijk aan) is aan het eerste groepje van 2 (links beginnend).
In ons voorbeeld is dat 1, want 12=1<03 en 22=4>03. Dit is het eerste cijfer van het antwoord.
(3) Nu gaan we het kwadraat van het eerste cijfer aftrekken van het eerste groepje van 2 cijfers. Daarna halen we de volgende twee cijfers aan bij het verschil, precies op dezelfde manier waarop je cijfers aanhaalt bij staartdelen.
Dus:
03 18 , 00 00 = 1
1
—
02 18
(4) De volgende stap is wat lastiger, maar gezien het feit dat deze stap verder herhaald moet worden is deze toch vlug onder de knie te krijgen.
We moeten nu een getal zoeken waarvoor het volgende geldt:
a Het getal ziet er als volgt uit: (2*de waarde van het inmiddels verkregen antwoord)(onbekend cijfer), in ons voorbeeld dus 2?
b x? * ? moet net kleiner (of gelijk aan) zijn dan het in de vorige stap gemaakte getal. In ons voorbeeld dus: 2? * ? <= 0218.
Het product (x?*?) trekken we weer af zoals in de vorige stap en halen de volgende twee cijfers aan.
(5) Tot slot herhalen we deze laatste stap totdat we tevreden zijn met het aantal cijfers achter de komma.
We werken het voorbeeld nog even uit:
03 18 , 00 00 = 17,83
1
—
2 18
2?*? <= 1 89 [=27*7]
—-
29 00
34?*? <= 27 84 [=348*8]
——-
1 16 00
356?*? <= 1 06 89
In de kantlijn:
De 2 van 2? is dus 2*1 (= het antwoord tot dan toe).
De 34 van 34? is dus 2*17 (= het antwoord tot dan toe).
De 356 van 356? is dus 2*178 (= het antwoord tot dan toe, de komma negerend).
In het antwoord:
De 1 lijkt mij duidelijk (stap 2).
De 7 komt van 2?*?. Op het ? moet 7 worden ingevuld zodat 2?*? kleiner blijft dan 218.
De komma wordt neergezet zodra er cijfers van achter de komma worden aangehaald.
De 8 komt van 34?*?, want 348*8 < 2900.
De 3 komt van 356?*?, want 3563*3 < 11600.
Na een paar keer oefenen, met verschillende getallen, heeft u de laatste methode snel onder de knie, en bent u in het vervolg dus niet meer afhankelijk van een rekenmachine (of computer) om wortels te kunnen trekken.