La sèrie de Taylor per calcular l’exponencial és:
Per evitar problemes amb la precisió dels nombres reals treballarem
amb nombres racionals: Afegiu import Data.Ratio al principi
del vostre programa.
Feu una funció exps :: Rational -> [Rational] que
retorni una llista infinita amb els termes del desenvolupament de Taylor
de l’exponencial d’un real
.
Nota: els termes no inclouen el sumatori.
Feu una funció
exponencial :: Rational -> Rational -> Rational que,
a partir de dos reals
i
aproximi l’exponencial de
sumant tots els termes de la llista infinita anterior superiors o iguals
que
.
Input
take 6 $ map fromRational $ exps (1%1) fromRational $ exponencial (1%1) (1%100000)
Output
[1.0,1.0,0.5,0.16666666666666666,4.1666666666666664e-2,8.333333333333333e-3] 2.71827876984127