表达式趋于 0 时(exp(t) - 1)/t
收敛到 1。t
但是,当进行数值计算时,我们得到了不同的结果:
In [19]: (exp(10**(-12)) - 1) * (10**12)
Out[19]: 1.000088900582341
In [20]: (exp(10**(-13)) - 1) * (10**13)
Out[20]: 0.9992007221626409
In [21]: (exp(10**(-14)) - 1) * (10**14)
Out[21]: 0.9992007221626409
In [22]: (exp(10**(-15)) - 1) * (10**15)
Out[22]: 1.1102230246251565
In [23]: (exp(10**(-16)) - 1) * (10**16)
Out[23]: 0.0
有什么方法可以计算这个表达式而不会遇到这些问题?我曾考虑过使用幂级数,但我对自己实施这一点持谨慎态度,因为我不确定实施细节,例如要使用多少个术语。
如果相关,我将 Python 与 scipy 和 numpy 一起使用。