Exponenciális függvények értékeinek kiszámítása
Ez a cikk az exponenciális függvény értékeinek numerikus kiszámításával foglalkozik.
Algoritmus
[szerkesztés]Az exponenciális, , függvény Maclaurin-sora
- = 1 + x + + + ... + + ...
A sor konvergens a teljes valós számhalmazon. A maradéktag
- = (0 < θ < 1),
ahol a számláló kitevőjében a nagy theta jelölés szerepel. A maradéktag meredeken nő az x abszolút értékével, ezért lehetőleg kis értékek szerint kell a sorfejtést végezni. Ez elérhető a kitevő felbontásával egész- és törtrészre. Valóban, tetszőleges x érték felírható
- x = [x] + q,
alakban, ahol [x] az x egészrésze és 0 ≤ q < 1 a törtrész, például: , . Tehát
- .
Az első tényező egész kitevős hatvány, így értékét iterált szorzással kapjuk meg:
- , ha ,
illetve
- , ha ,
ahol az Euler-féle szám.
A sorfejtést tehát csak a második tényezőre kell kiszámolni:
Mivel q < 1, a fenti sorozat a fentieknek megfelelően gyorsan konvergál, és a maradéktag
Az tagok rekurrenciás kapcsolata:
- , .
Pszeudokód
[szerkesztés]Az exponenciális függvényt számító algoritmus:
function TaylorExp( in: x, ε out: T )
u ← 1
n ← 0
T ← 1
repeat
u ← u*(x/n+1)
T ← T + u
n ← n + 1
until |u| < ε
return T
end function
Példa
[szerkesztés]Alkalmazásként határozzuk meg -t hibán belül. Ez esetben x = 1/2 tehát a rekurrenciás képlet:
, , k=(1, 2, . . .)
un | Tn | |
---|---|---|
0 | 1 | 1 |
1 | 0.5 | 1.5 |
2 | 0.125 | 1.625 |
3 | 0.0208333333333 | 1.64583333333 |
4 | 0.00260416666667 | 1.6484375 |
5 | 0.000260416666667 | 1.64849791667 |
6 | 2.17013888889e-05 | 1.64871961806 |
7 | 1.55009920635e-06 | 1.64872116815 |
8 | 9.68812003968e-08 | 1.65872126504 |
A pontos érték 1.6487212707...
Források
[szerkesztés]- Lázár Zsolt, Lázár József, Járai-Szabó Ferenc: Numerikus módszerek, Kolozsvári Egyetemi Kiadó, 2008