scipy.special.erfinv#

scipy.special.erfinv(y, out=None) = <ufunc 'erfinv'>#

误差函数的反函数。

计算误差函数的反函数。

在复数域中,没有唯一的复数 w 满足 erf(w)=z。这表明真正的反函数将是多值的。当域限制为实数,-1 < x < 1 时,存在唯一的实数满足 erf(erfinv(x)) = x。

参数:
yndarray

要计算的参数。定义域:[-1, 1]

outndarray,可选

函数值的可选输出数组

返回:
erfinv标量或 ndarray

y 的 erf 的反函数,逐元素计算

另请参见

erf

复数参数的误差函数

erfc

互补误差函数,1 - erf(x)

erfcinv

互补误差函数的反函数

备注

此函数封装了 Boost Math C++ 库中的 erf_inv 例程 [1]

参考文献

[1]

Boost 开发人员。“Boost C++ 库”。https://boost.ac.cn/

示例

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.special import erfinv, erf
>>> erfinv(0.5)
0.4769362762044699
>>> y = np.linspace(-1.0, 1.0, num=9)
>>> x = erfinv(y)
>>> x
array([       -inf, -0.81341985, -0.47693628, -0.22531206,  0.        ,
        0.22531206,  0.47693628,  0.81341985,         inf])

验证 erf(erfinv(y)) 是否为 y

>>> erf(x)
array([-1.  , -0.75, -0.5 , -0.25,  0.  ,  0.25,  0.5 ,  0.75,  1.  ])

绘制函数

>>> y = np.linspace(-1, 1, 200)
>>> fig, ax = plt.subplots()
>>> ax.plot(y, erfinv(y))
>>> ax.grid(True)
>>> ax.set_xlabel('y')
>>> ax.set_title('erfinv(y)')
>>> plt.show()
../../_images/scipy-special-erfinv-1.png