2024-04-25 23:36:51 发布
网友
我在Python中遇到了一些精度问题。在
我想计算如下函数:
P(x,y) = exp(-x)/(exp(-x) + exp(-y))
其中x和y可能大于1000。Python的数学实验(-1000)(至少为2.6!)没有足够的浮点精度来处理此问题。在
(另外,我对头衔很开放!我想不出一个好的答案来回答这个问题!)在
你可以用exp(-x)来划分顶部和底部
exp(-x)
P(x,y) = 1/(1 + exp(x-y))
>>> import decimal >>> decimal.Decimal(-1000).exp() Decimal('5.075958897549456765291809480E-435') >>> decimal.getcontext().prec = 60 >>> decimal.Decimal(-1000).exp() Decimal('5.07595889754945676529180947957433691930559928289283736183239E-435')
相当于:
也许第二种方法没有使用更精确的方法。在
你可以用
exp(-x)
来划分顶部和底部相当于:
^{pr2}$也许第二种方法没有使用更精确的方法。在
相关问题 更多 >
编程相关推荐