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 的反函数,逐元素计算
备注
此函数封装了 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()