我需要计算量评估1 /的tanh(X) - 1/X为非常小x
1/tanh(x) - 1/x
为x > 0
,其中x
既可以是非常小和非常大的。
渐近的小x
,我们有
1/tanh(x) - 1/x -> x/3
和大x
1/tanh(x) - 1/x -> 1
总之,从10^-7
小舍入误差计算表达式时,已经导致表达是精确评估为0:
import numpy
import matplotlib.pyplot as plt
x = numpy.array([2**k for k in range(-30, 30)])
y = 1.0/numpy.tanh(x) - 1.0/x
plt.loglog(x, y)
plt.show()
你可以定义自己的版本功能'1/tanh(x) - 1/x'如果参数太小/太大,会评估渐近表达式 – Stelios
编写您自己的'tanh'? (我没有看到0直到小于10^-8。) –