当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy special.spherical_jn用法及代码示例


本文简要介绍 python 语言中 scipy.special.spherical_jn 的用法。

用法:

scipy.special.spherical_jn(n, z, derivative=False)#

第一类球贝塞尔函数或其导数。

定义为[1],

其中 是第一类贝塞尔函数。

参数

n 整数,数组

Bessel 函数的阶数 (n >= 0)。

z 复数或浮点数,数组

贝塞尔函数的参数。

derivative 布尔型,可选

如果为 True,则返回导数(而不是函数本身)的值。

返回

jn ndarray

注意

对于大于顺序的实参,该函数使用升序递归 [2] 计算。对于小的实数或复数参数,使用与第一类圆柱贝塞尔函数的定义关系。

使用关系 [3] 计算导数,

参考

[AS]

Milton Abramowitz 和 Irene A. Stegun 合编。带有公式、图表和数学表格的数学函数手册。纽约:多佛,1972 年。

例子

第一类 的球面贝塞尔函数接受实数和复数第二个参数。他们可以返回一个复杂的类型:

>>> from scipy.special import spherical_jn
>>> spherical_jn(0, 3+5j)
(-9.878987731663194-8.021894345786002j)
>>> type(spherical_jn(0, 3+5j))
<class 'numpy.complex128'>

我们可以在区间 中验证 的注释导数的关系:

>>> import numpy as np
>>> x = np.arange(1.0, 2.0, 0.01)
>>> np.allclose(spherical_jn(3, x, True),
...             spherical_jn(2, x) - 4/x * spherical_jn(3, x))
True

前几个 带有真实参数:

>>> import matplotlib.pyplot as plt
>>> x = np.arange(0.0, 10.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-0.5, 1.5)
>>> ax.set_title(r'Spherical Bessel functions $j_n$')
>>> for n in np.arange(0, 4):
...     ax.plot(x, spherical_jn(n, x), label=rf'$j_{n}$')
>>> plt.legend(loc='best')
>>> plt.show()
scipy-special-spherical_jn-1.png

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.special.spherical_jn。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。