Heb je geen fijne herinneringen aan wiskunde op de middelbare school? Lees dan eens het boek Algebra, van algoritmes tot vectoren van Michael Willers. Ik vond het voor minder van 10 euro in een boekwinkel in Rotterdam en was direct geboeid. Korte hoofdstukken over getallenreeksen maar ook over bijv. Egyptenaren. Zij gebruikten een tientallig getallenstelsel (met symbolen voor 1 t/m 1.000.000) !
En met de Babylonische methode (of Herons methode) om vierkantswortels te berekenen gaan we hier aan de slag. We testen het met behulp van een kort javascript.
Waarom wordt wiskunde bijna altijd stom gevonden?
Met een taalfout in een mail aan je collega’s of vrienden maak je geen beste beurt. Maar een opmerking over “stomme” wiskundelessen op de middelbare school ( en dan worteltrekken noemen en met je ogen draaien), dat geeft totaal geen problemen. Waarom zijn die basisbegrippen zo oninteressant gemaakt? Dat zal niet aan Michael Willers liggen. In het hoofdstuk “Wortels in de wiskunde” staat op blz 46 een prachtige formule (van zo’n 2000 jaar geleden).
Maar wat is een (vierkants)wortel in de wiskunde ook al weer? De wortel van een getal, geeft, met zichzelf vermenigvuldigd, dat getal weer. De wortel van 4, is 2, want 22 is … 4. De notatie is √4 = 2. De volgende makkelijke wortel is die van 9. (√9 = 3)
De wortel van 2 of van 3 is veel ingewikkelder te vinden, probeer het eens … Ok, op een rekenmachine kun je het antwoord direct vinden, maar hoe deed men het vroeger?
Een eeuwenoude formule
In het boek van Michael Willers staat deze prachtige (iteratieve) formule, ook wel bekend als de Babylonische methode:
xn+1 = 1/2 (xn + S/xn)
Het is minder ingewikkeld dan je denkt. Eigenlijk berekent deze methode gewoon het gemiddelde tussen je (eerste) poging en wat het antwoord is van de deling. Laten we zoeken naar de wortel van 3. De S in de formule is dan 3. Je begint met een eerste schatting voor x0 bijvoorbeeld 2. Je weet dat dat niet klopt maar het is een begin. Je kunt ook met 1,5 beginnen. Maar kies je 2 dan wordt de formule:
x1 = 1/2 (2 + 3/2)
De eerste uitkomst is dus 1,75. Deze formule is iteratief, d.w.z. dat je die meerdere keren moet herhalen. x1 wordt nu 1,75
x2 = 1/2 (1,75 + 3/1,75)
De tweede uitkomst is nu 1,7321.
Een kort javascript berekent alles
Hieronder kun je zien hoe dit in een kort javascript voor je wordt gedaan. De repeterende function (for loop) wordt gestopt (break) als het kwadraat van de wortel (**2) niet meer dan 0.0000000000001 afwijkt van het getal (hier dus 3). In de lijst zie je de stappen voordat het script “klaar” is. Je kunt zelf spelen met dit script. Klik op “Resultaat” om de html te zien en klik op het icoontje rechtsboven om het script te bewerken. Kun je de wortel van 1000 vinden?
See the Pen Untitled by jean francois roebers (@jeanfrancoisroebers) on CodePen.
Op youtube legt Tycho heel helder uit hoe de Babylonische methode werkt. Maar ook, in onderstaande tweede video, hoe de handmatige manier van berekenen gebeurt én verklaart hij waarom dat zo werkt.