0

我尝试使用 Scipy 和 EXCEL 来计算 Bessel 函数,但它们给出了不同的结果。你知道为什么吗?提前致谢。

Python代码:

import scipy.special as ss


result = ss.k1(0.2155481626213)
print(result)

EXCEL(我使用的是今天版本的 OneDrive Excel 网络应用)

=BESSELK(0,2155481626213; 1)

Python4.405746469429914
的结果是 Excel 的结果是 4,405746474969860.

4

2 回答 2

1

由于结果的误差很小,数值计算的复杂性和误差传播会导致差异。

旁注:即使是 Wolfram Alpha 也有不同的值:4.405746469430。

于 2021-07-14T10:46:21.143 回答
0

正如@HubertusKaiser 所说;误差非常小,我们可以将其分配给舍入误差/浮点数。

0.1+0.2 != 0.3对于大多数计算机,这里有一个很好的解释。现在想象做很多那些“错误”的浮点计算,你最终会看到你看到的误差差异

于 2021-07-14T11:07:53.103 回答