Exponenciális függvények értékeinek kiszámítása

Innen: testwiki
Ugrás a navigációhoz Ugrás a kereséshez

Ez a cikk az ex exponenciális függvény értékeinek numerikus kiszámításával foglalkozik.

Algoritmus

Az exponenciális, ex , függvény Maclaurin-sora

ex = 1 + x + x22! + x33! + ... + xnn! + ...

A sor konvergens a teljes valós számhalmazon. A maradéktag

Rn(x) = eΘx(n+1)!xn+1 (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: 4,7=4+0,7, 2,45=3+0,55. Tehát

ex=e[x]eq.

Az első tényező egész kitevős hatvány, így értékét iterált szorzással kapjuk meg:

e[x]=ee, ha x0 ,

illetve

ex=1e1e...1e, ha x<0,

ahol e=2,718281828459045±51016 az Euler-féle szám.

A sorfejtést tehát csak a második tényezőre kell kiszámolni:

eq=n=1gnn!

Mivel q < 1, a fenti sorozat a fentieknek megfelelően gyorsan konvergál, és a maradéktag

0Rn(g)<3(n+1)!qn+1

Az tagok rekurrenciás kapcsolata:

T0=u0=1 , un+1=unxn+1 .

Pszeudokód

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

Alkalmazásként határozzuk meg

e

-t

107

hibán belül. Ez esetben x = 1/2 tehát a rekurrenciás képlet:

u0=0

,

un+1=un12(n+1)

, 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

  • Lázár Zsolt, Lázár József, Járai-Szabó Ferenc: Numerikus módszerek, Kolozsvári Egyetemi Kiadó, 2008

Sablon:Nemzetközi katalógusok Sablon:Portál