我需要計算量評估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。) –