scipy.special.expm1#
- scipy.special.expm1(x, out=None) = <ufunc 'expm1'>#
计算
exp(x) - 1
.当x 接近零时,
exp(x)
接近 1,因此exp(x) - 1
的数值计算可能会遭受灾难性的精度损失。expm1(x)
的实现避免了当x 接近零时出现的精度损失。- 参数:
- xarray_like
x 必须包含实数。
- outndarray, optional
函数值的可选输出数组
- 返回::
- 标量或 ndarray
元素计算
exp(x) - 1
。
示例
>>> import numpy as np >>> from scipy.special import expm1
>>> expm1(1.0) 1.7182818284590451 >>> expm1([-0.2, -0.1, 0, 0.1, 0.2]) array([-0.18126925, -0.09516258, 0. , 0.10517092, 0.22140276])
精确的值
exp(7.5e-13) - 1
是7.5000000000028125000000007031250000001318...*10**-13.
以下是
expm1(7.5e-13)
给出的>>> expm1(7.5e-13) 7.5000000000028135e-13
将它与
exp(7.5e-13) - 1
进行比较,其中减法导致“灾难性”的精度损失>>> np.exp(7.5e-13) - 1 7.5006667543675576e-13