scipy.special.j0#
- scipy.special.j0(x, out=None) = <ufunc 'j0'>#
第一类贝塞尔函数,0阶。
- 参数:
- xarray_like
参数 (浮点数)。
- 出ndarray,可选
函数值的可选输出数组
- 返回:
- 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 的多项式。
在第二个区间,采用了Hankel渐近展开,使用了两个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()