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 反函數,逐元素計算

參見

erf

複數參數的誤差函數

erfc

互補誤差函數,1 - erf(x)

erfcinv

互補誤差函數的反函數

註解

此函數封裝了 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()
../../_images/scipy-special-erfinv-1.png