如何在 Python 中计算具有数值稳定性的 xe^x/(e^x-1)?
How do I evaluate xe^x/(e^x-1) with numerical stability in Python?
当 x 非常正或非常负时,我如何评估 xe^x/(e^x-1) 的数值稳定性在零附近?我可以访问 numpy
和 scipy
.
中的所有常用数学函数
def f(x):
if abs(x) > 0.1: return x*exp(x)/(exp(x)-1)
else: return 1/(1.-x/2.+x**2/6.-x**3/24.)
如果需要更高的精度,可以以明显的方式扩展最后一行中的扩展,并且可以通过重新措辞来加快速度。就目前而言,它的误差高达 1e-6。
当 x 非常正或非常负时,我如何评估 xe^x/(e^x-1) 的数值稳定性在零附近?我可以访问 numpy
和 scipy
.
def f(x):
if abs(x) > 0.1: return x*exp(x)/(exp(x)-1)
else: return 1/(1.-x/2.+x**2/6.-x**3/24.)
如果需要更高的精度,可以以明显的方式扩展最后一行中的扩展,并且可以通过重新措辞来加快速度。就目前而言,它的误差高达 1e-6。