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()