gpt4 book ai didi

python - Python 对数函数的精度

转载 作者:行者123 更新时间:2023-12-01 03:21:10 25 4
gpt4 key购买 nike

我正在尝试绘制非常大的 x 值的对数函数:x*log(1+1/x)。我检查了几个术语,因为总体图不好,问题似乎是虽然这个函数永远不应该高于 1,但对于某些点它会大于 1。我相信这与日志功能。

对于以下 x 值:

[ 5.4380181e+11  3.1688845e+12  4.5195668e+13  7.4634268e+14  1.2442192e+16
2.0754228e+17 3.4624427e+18 5.787843e+19 9.9925409e+20 2.6069079e+22]

我得到x*np.log(1+1/x):

[ 0.99999999  0.99999989  0.99999774  0.9999925  0.99959801  0.99007829
1.1261964 0.0 0.0 0.0]

如您所见,第 7 项大于 1。

我尝试使用 log1p 代替,但这给出了无意义的答案。

我也尝试过使用np.float128(),但得到的结果与上面完全相同。

有什么想法吗?

非常感谢!

最佳答案

阅读 log1p 的手册页。它采用与log相同的参数。我想这可以解释“无意义的答案”。

它对我有用:

l = [5.4380181e+11, 3.1688845e+12, 4.5195668e+13, 7.4634268e+14, 1.2442192e+16, 2.0754228e+17, 3.4624427e+18, 5.787843e+19, 9.9925409e+20, 2.6069079e+22]

[n*log1p(1/n) for n in l]

输出:

[0.9999999999990805,
0.9999999999998422,
0.9999999999999888,
0.9999999999999992,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0]

关于python - Python 对数函数的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41909321/

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