gpt4 book ai didi

Haskell:数学结果不正确

转载 作者:行者123 更新时间:2023-12-03 00:30:17 33 4
gpt4 key购买 nike

我正在尝试使用 Haskell 来评估一些函数。其中之一是:

k x = 27 * x ^ 4 + 1792 * x ^ 3 + 2592 * x ^ 2 - 324 * x - 243

使用 Wolfram alpha 我找到了它的根:

27x^4 + 1792x^3 + 2592x^2 - 324x - 243 = 0
=> x ≃ 0.331478863194230

但是当用根求值时,haskell 给出了错误的答案:

k 0.331478863194230 == -6.252776074688882e-13

我确定这不是 Wolfram 的问题,因为 Desmos 给出了相同的 result 。我对 Haskell 不太熟悉,我想知道这种奇怪行为的原因可能是什么。

最佳答案

Rational Root Theorem ,很容易看出这个多项式没有有理根。因此 Wolfram 永远无法以十进制形式向您显示准确的答案。当然,它必须四舍五入到近似值,甚至用 符号表示这样做。将该近似根插入到函数中不会输出 0,这并不奇怪。

事实上,如果您避免使用 float ,您可以以任意精度看到传递输入时的输出:

 > k x = 27 * x ^ 4 + 1792 * x ^ 3 + 2592 * x ^ 2 - 324 * x - 243
> k 0.331478863194230 :: Rational
=> (-54003681976002235123002052941041334918065893) % 100000000000000000000000000000000000000000000000000000000

这是

-5.4003681976002235123002052941041334918065893e-13

关于Haskell:数学结果不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58240377/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com