如何像这样写泰勒级数递归数据:
fib = 0 : scanl (+) 1 fib
例如,我要提示类似以下内容:
fac n = product[1..n]
sin' x = x : x^3/fac(3) : x^5/fac(5) : ...
sum $ take 10 (sin' (pi/6))
并得到正弦泰勒级数的10个第一元素的总和。
最佳答案
那还不是泰勒的罪恶系列!但这是一个线索...
products = scanl (*) 1 [1..]
powers x = map (x^) [0..]
exp' x = zipWith (/) (powers x) products
*Main> sum (take 10 (exp' 1))
2.7182815255731922