scipy.special.j0#

scipy.special.j0(x, out=None) = <ufunc 'j0'>#

第一类 0 阶贝塞尔函数。

参数:
xarray_like

参数(浮点数)。

outndarray,可选

函数值的可选输出数组

返回:
J标量或 ndarray

第一类 0 阶贝塞尔函数在 x 处的值。

另请参见

jv

实数阶和复数参数的贝塞尔函数。

spherical_jn

球贝塞尔函数。

注释

域被划分为区间 [0, 5] 和 (5, 无穷大)。在第一个区间中,使用以下有理逼近

\[J_0(x) \approx (w - r_1^2)(w - r_2^2) \frac{P_3(w)}{Q_8(w)},\]

其中 \(w = x^2\)\(r_1\)\(r_2\)\(J_0\) 的零点,\(P_3\)\(Q_8\) 分别是 3 次和 8 次多项式。

在第二个区间中,采用汉克尔渐近展开,其中包含两个 6/6 次和 7/7 次有理函数。

此函数是 Cephes [1] 例程 j0 的包装器。它不应与球贝塞尔函数混淆(参见 spherical_jn)。

参考文献

[1]

Cephes 数学函数库,http://www.netlib.org/cephes/

示例

计算一个点的函数值

>>> from scipy.special import j0
>>> j0(1.)
0.7651976865579665

计算多个点的函数值

>>> import numpy as np
>>> j0(np.array([-2., 0., 4.]))
array([ 0.22389078,  1.        , -0.39714981])

绘制 -20 到 20 的函数图。

>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> x = np.linspace(-20., 20., 1000)
>>> y = j0(x)
>>> ax.plot(x, y)
>>> plt.show()
../../_images/scipy-special-j0-1.png