Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell指数函数的Taylor序列_Haskell_Taylor Series - Fatal编程技术网

Haskell指数函数的Taylor序列

Haskell指数函数的Taylor序列,haskell,taylor-series,Haskell,Taylor Series,我试图实现指数函数的泰勒序列,但我得到了大量错误,我不完全理解,因为所有代码段本身都在工作。。。有人能解释一下错误和解决方法吗 top x = map (x^) [0..] bottom = foldr (*) 1 [1..] whole x = zipWith (/) (top x) bottom 提前谢谢 好吧,我知道了。问题是bottom实际上并不是所有可能的因子的列表 为了解决这个问题,我不得不使用而不是foldr: bottom = scanl (*) 1 [1..] 您可以在GH

我试图实现指数函数的泰勒序列,但我得到了大量错误,我不完全理解,因为所有代码段本身都在工作。。。有人能解释一下错误和解决方法吗

top x = map (x^) [0..]
bottom = foldr (*) 1 [1..]
whole x = zipWith (/) (top x) bottom

提前谢谢

好吧,我知道了。问题是
bottom
实际上并不是所有可能的因子的列表

为了解决这个问题,我不得不使用而不是
foldr

bottom = scanl (*) 1 [1..]

您可以在GHCi中分别测试每个函数,看看它是否与您设计的相同

例如,您对
bottom

Prelude> bottom = foldr (*) 1 [1..]
Prelude> :t bottom
bottom :: (Num b, Enum b) => b
没有列出清单。对于
zipWith

Prelude> :t zipWith
zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
与正确的比较

Prelude> bottom = scanl (*) 1 [1..]
Prelude> :t bottom
bottom :: (Num b, Enum b) => [b]

这是一个列表。

可能只是我太累了,我今天工作了10个小时,所以这可能是一件非常愚蠢的事情,如果是这样,请原谅我,你的问题似乎不完整,它与
泰勒级数
有什么关系?您可能需要添加更完整的()代码。泰勒序列是用于计算指数函数/sin/cos等的序列。正如问题中所述,我的代码与指数函数e^x的泰勒序列相关。我以为这是常识,如果不是这样,我很抱歉。谢谢你的时间