Matematik
Hvordan løser en lommeregneren logaritmer?
Jeg har undersøgt emnet lidt, men jeg er egentlig ikke blevet meget klogere på, hvordan en lommeregner egentlig gør. Det er vel ikke bare tabelopslag?
Desuden har jeg fundet en algoritme, der kan udregne logaritmer med god præcision ved at vide at jo tættere man kommer på tallet et jo mere præcis er følgende: x-1 ≈ ln(x) Og den egentlige metode indeholder en del reducering ifht. brug af tallene 2; 1,1; 1,01; 1,001 osv. da det er let at udregne produktet af de tidligere nævnte og et hvilket som helst andet tal ex. 5*1,01=5,05
Altså hvis vi vil finde den naturlige logaritme til fx. 0,99987 vil det være tilnærmelsesvis -0,00013 (det rigtige svar: 0,000130008)
Men alt det er en længere historie. Det er bare et eksempel på hvordan lommeregneren kunne regne det, men jeg finder, at den metode tager ganske enkelt for lang tid i forhold til knapperne på min lommeregner. Nogen bud?
Svar #1
01. august 2011 af SuneChr
Der findes rækkeudviklinger, som genererer den naturlige logaritme. En af dem, er:
ln x = j =1∑∝ 1/j · ( (x - 1) / x )j for x ≥ ½ og den inverse:
ex = j=0∑∝ xj/j! for alle x
Svar #2
01. august 2011 af Andersen11 (Slettet)
De algoritmer, som lommeregnere og PCer benytter til beregning af de grundlæggende matematiske funktioner, kan være baseret på tabelopslag, tilnærmede polynomiumsudtryk, og efterfølgende afpolering. Man skal tænke på, at computeren kun har behov for at beregne f.eks. ln(x) til den interne nøjagtighed, som benyttes i computeren.
Denne artikel http://en.wikipedia.org/wiki/Logarithm giver en oversigt over logaritmefunktioerne og deres egenskaber, og den nævner specielt formlen for beregning af ln(z) gennem formlen
ln(z) = 2·artanh( (z-1)/(z+1) ) , z kompleks, Re(z) > 0 .
Denne formel kan bekvemt benyttes til afpolering af en tilnærmet logaritme. Hvis y er en tilnærmet værdi for ln(z), dvs y ≈ ln(z), så gælder
ln(z) = y + ln(A) ,
hvor A = z / ey .
z er den værdi, hvis logaritme ønskes beregnet. Hvis y er en tilnærmet værdi for ln(z), vil A = z / ey være tæt ved 1 , hvorfor ln(A) kan beregnes effektivt ved hjælp af rækken for ln(z) fra artanh-udtrykket (se artiklen), der konvergerer hurtigt for argumenter tæt ved 1. Den tilnærmede værdi kan findes ved hjælp af tabelopslag eller tilnærmede polynomiumsudtryk. Forskellige tabeller og tilnærmede polynomier kan benyttes i forskellige argumentintervaller. Det hele programmeres så effektivt i computerens maskinsprog, så ln(x) kan beregnes ved tryk på en knap.
Skriv et svar til: Hvordan løser en lommeregneren logaritmer?
Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk?
Klik her for at oprette en bruger.
