scipy.special.expm1#
-
scipy.special.expm1(x, выход=None) =
'expm1'> # Вычислить
exp(x) - 1.Когда x близко к нулю,
exp(x)близко к 1, поэтому численный расчёт дляexp(x) - 1может страдать от катастрофической потери точности.expm1(x)реализовано, чтобы избежать потери точности, которая происходит, когда x близко к нулю.- Параметры:
- xarray_like
x должен содержать вещественные числа.
- выходndarray, необязательно
Необязательный выходной массив для значений функции
- Возвращает:
- скаляр или 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