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, optional
函數值的選用性輸出陣列
- 返回:
- erfinv純量或 ndarray
y 的 erf 反函數,逐元素計算
註解
此函數封裝了 Boost Math C++ 函式庫中的
erf_inv
常式 [1]。參考文獻
[1]The Boost Developers. “Boost C++ Libraries”. https://boost.dev.org.tw/.
範例
>>> 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()