scipy.special.j0#
- scipy.special.j0(x, out=None) = <ufunc 'j0'>#
第一类 0 阶贝塞尔函数。
- 参数:
- xarray_like
参数(浮点数)。
- outndarray, optional
函数值的可选输出数组
- 返回:
- Jscalar or ndarray
在 x 处的第一类 0 阶贝塞尔函数的值。
另请参阅
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()