使用Foldl对列表求和

时间:2018-04-28 05:17:45

标签: haskell fold foldleft

我是Haskell的新手,我正试图在Haskell上使用foldl使用MacLaurin系列实现正弦近似。我已经生成了这个列表,现在我试图使用fold来获得总结。

这是我的代码。我知道我对sin函数做错了,但我不确定该怎么做。我也必须通过x。如果sin接收x作为输入,list将使用相同的x值。

factorial n = product [1..n]
list x = [-1**n * ((x**(2*n+1))/factorial(2*n+1)) | n <- [0..29] ]
sin x = foldl (+) 0 list x 

解决: 正确的解决方案:

factorial n = product [1..n]
list x = [(-1)**n * ((x**(2*n+1))/factorial(2*n+1)) | n <- [0..29] ]
sine x = foldl (+) 0 (list x)

0 个答案:

没有答案