scipy.special.
jvp#
- scipy.special.jvp(v, z, n=1)[源代码]#
计算第一类贝塞尔函数的导数。
计算贝塞尔函数 Jv 关于 z 的 n 阶导数。
- 参数:
- v类数组或浮点数
贝塞尔函数的阶数
- z复数
用于评估导数的参数;可以是实数或复数。
- n整数,默认为 1
导数的阶数。对于 0,返回贝塞尔函数
jv
本身。
- 返回:
- 标量或 ndarray
贝塞尔函数导数的值。
注释
导数是使用关系式 DLFM 10.6.7 [2] 计算的。
参考文献
[1]Zhang, Shanjie and Jin, Jianming. “特殊函数的计算”,John Wiley and Sons, 1996, 第 5 章。 https://people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html
[2]NIST 数学函数数字图书馆。 https://dlmf.nist.gov/10.6.E7
示例
计算 0 阶第一类贝塞尔函数及其在 1 处的前两个导数。
>>> from scipy.special import jvp >>> jvp(0, 1, 0), jvp(0, 1, 1), jvp(0, 1, 2) (0.7651976865579666, -0.44005058574493355, -0.3251471008130331)
通过为 v 提供数组,计算几个阶数的第一类贝塞尔函数在 1 处的一阶导数。
>>> jvp([0, 1, 2], 1, 1) array([-0.44005059, 0.3251471 , 0.21024362])
通过为 z 提供数组,计算 0 阶第一类贝塞尔函数在多个点的一阶导数。
>>> import numpy as np >>> points = np.array([0., 1.5, 3.]) >>> jvp(0, points, 1) array([-0. , -0.55793651, -0.33905896])
绘制 1 阶第一类贝塞尔函数及其前三个导数。
>>> import matplotlib.pyplot as plt >>> x = np.linspace(-10, 10, 1000) >>> fig, ax = plt.subplots() >>> ax.plot(x, jvp(1, x, 0), label=r"$J_1$") >>> ax.plot(x, jvp(1, x, 1), label=r"$J_1'$") >>> ax.plot(x, jvp(1, x, 2), label=r"$J_1''$") >>> ax.plot(x, jvp(1, x, 3), label=r"$J_1'''$") >>> plt.legend() >>> plt.show()