好吧,这是一个很奇怪的问题。哈斯克尔正弦和余弦函数不起作用
内置的Haskell正弦函数(sin)似乎不起作用。
sin 0
正确地给出0
。
sin pi
给出,无论出于何种原因,1.2246467991473532e-16
这些是使用内置的前奏功能。我只是启动ghci(Haskell解释器),然后输入sin pi
并得到错误的答案。
此外,cos (pi/2)
给6.123233995736766e-17
任何想法,这可能是为什么?它看起来像函数中的构建是完全错误的......这看起来不太可能看到Haskell标准库的数学导向。
编辑:嘿,我只是简单地忽略了电子16 ..我想这就是我在深夜编码得到的。无论如何每个人都谢谢
也许你应该试试'1 + sin pi',这样你可以看到它实际上离正确的答案有多近。 – augustss
您也可以安装数字包,并使用类型'Data.Number.CReal.CReal'而不是'Double'。它速度慢,准确。 – augustss