Logaritmes bepalen met een huishoudrekenmachientje
Ik heb van een kennis ooit geleerd hoe je de logaritme van een getal kunt benaderen met een simpel rekenmachientje met een Ö-functie. Waarom het zo werkt kan ik echter niet beredeneren.
Toets het getal in waarvan je de logaritme wilt nemen. Druk 11 keer op de Ö-toets. Trek van dit antwoord 1 af. Vermenigvuldig het antwoord met 889. Het resultaat is de logaritme van het oorspr. getal.
Weet iemand hoe dit rekenkundig werkt?
((ÖÖÖÖÖÖÖÖÖÖÖ(x))-1)*889 = Log(x)
Henk P
Iets anders - dinsdag 26 oktober 2004
Antwoord
Even proberen: We nemen x=10 Elf keer de wortel nemen: 1,001124941 Hier 1 vanaftrekken: 0,001124941 Nu met 889 vermenigvuldigen: 1,0000729. Nu geldt log(10)=10log(10)=1. Nog eentje: we nemen x=2 We krijgen (1,000338508-1)*889=0,30093366 log(2)=0,3010299957. Het gaat hier dus niet om iets dat exact klopt maar om een benaderingsmethode.
Eerst maar eens dat 11 keer worteltrekken: Ö(x)=x1/2 Ö(Ö(x))=(x1/2)1/2=x1/4. Hier weer de wortel van is (x1/4)1/2=x^(1/8). Je kunt narekenen dat elf keer de wortel nemen, overeenkomt met verheffen tot de macht 1/2048. We hebben links dus staan (x^1/2048-1)*889. Verder willen we een benadering voor log(x) zoeken. Dus b=log(x). We zoeken dus het getal b zo, dat 10b=x. Laten we nu eens gaan kijken hoe 10h zich gedraagt als h dicht bij 0 ligt. 100.1=1,258925 100.01=1,023293 100.001=1,002305 100.0001=1,000230285 Het lijkt erop dat bij benadering geldt: als h dicht bij nul dan is 10h=1+2,303h. Wat hebben we hier nu aan? Wel, we wilden x^1/2048 berekenen. We schrijven nu: x=10^(log(x) (een regel bij logaritmen) dus x^(1/2048)=(10^log(x))^(1/2048)= 10^(log(x)/2048). Nu zijn logaritmen in het algemeen niet zo groot, en delen door 2048 levert dus exponenten die dicht bij nul liggen. We schrijven dus x^1/2048=10^(log(x)/2048)1+2,303*log(x)/2048= Dus 2,303*log(x)/2048=x^1/2048-1. Dus log(x)=2048/2,303*(x^1/2048-1)=889*(x^1/2048-1).
Meer fundamenteel: Omdat ex=1+x+1/2x2+1/6x3+... een machtreeksontwikkeling is van ex geldt als x dicht bij nul ligt dat we ex kunnen benaderen door ex1+x.
We gaan weer de volgende berekening doen: x^(1/2048)-1= (e^(ln(x))^(1/2048)-1= e^(ln(x)/2048)-11+ln(x)/2048-1=ln(x)/2048. Dus ln(x)(x^(1/2048)-1)*2048 Nu weten we dat log(x)=ln(x)/ln(10) Dus log(x)(x^(1/2048)-1)*2048/ln(10) en 2048/ln(10)=889,435.
Waarom nu elf keer die wortel trekken en niet bijvoorbeeld 10 of 12 keer? Dat kan ook maar dan had je i.p.v. 889 moeten nemen 1024/ln(10)=447,7 of 4096/ln(10)=1778,9. Waarschijnlijk is dat 11 keer worteltrekken een compromis tussen enerzijds een klein genoege exponent en anderzijds de nauwkeurigheid van de rekenmachine.