scipy.special.fresnel

scipy.special.fresnel(z, out=None) = <ufunc 'fresnel'>

菲涅耳积分。

菲涅耳积分定义为

\[\begin{split}s(Z)&=\int_0^z\sin(\pi t^2/2)dt\\ C(Z)&=\int_0^z\cos(\pi t^2/2)dt.\end{split}\]

看见 [dlmf] 有关详细信息,请参阅。

参数
zarray_like

实值或复值变元

outndarray的2元组,可选

函数结果的可选输出数组

退货
S, C标量或ndarray的2元组

菲涅耳积分的取值问题

参见

fresnel_zeros

菲涅耳积分的零点

参考文献

dlmf

美国国家标准与技术研究院数学函数数字类库https://dlmf.nist.gov/7.2#iii

示例

>>> import scipy.special as sc

当z沿着实轴变为无穷大时,S和C会聚为0.5。

>>> S, C = sc.fresnel([0.1, 1, 10, 100, np.inf])
>>> S
array([0.00052359, 0.43825915, 0.46816998, 0.4968169 , 0.5       ])
>>> C
array([0.09999753, 0.7798934 , 0.49989869, 0.4999999 , 0.5       ])

它们与误差函数相关 erf

>>> z = np.array([1, 2, 3, 4])
>>> zeta = 0.5 * np.sqrt(np.pi) * (1 - 1j) * z
>>> S, C = sc.fresnel(z)
>>> C + 1j*S
array([0.7798934 +0.43825915j, 0.48825341+0.34341568j,
       0.60572079+0.496313j  , 0.49842603+0.42051575j])
>>> 0.5 * (1 + 1j) * sc.erf(zeta)
array([0.7798934 +0.43825915j, 0.48825341+0.34341568j,
       0.60572079+0.496313j  , 0.49842603+0.42051575j])