scipy.special.
yvp#
- scipy.special.yvp(v, z, n=1)[source]#
计算第二类贝塞尔函数的导数。
计算贝塞尔函数 Yv 对于 z 的 n 阶导数。
- 参数:
- varray_like of float
贝塞尔函数的阶
- zcomplex
计算导数时的自变量
- nint, 默认值为 1
导数的阶数。0 表示返回贝塞尔函数
yv
- 返回值:
- 标量或 ndarray
贝塞尔函数的 n 阶导数。
另请参见
yv
第二类贝塞尔函数
备注
导数使用关系 DLFM 10.6.7 计算 [2]。
参考
[1]张善杰和金建铭。“特殊函数的计算”, 约翰·威利父子公司, 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 yvp >>> yvp(0, 1, 0), yvp(0, 1, 1), yvp(0, 1, 2) (0.088256964215677, 0.7812128213002889, -0.8694697855159659)
为 v 提供一个数组,并针对几个不相同阶计算二类贝塞尔函数的一阶导数。
>>> yvp([0, 1, 2], 1, 1) array([0.78121282, 0.86946979, 2.52015239])
为 z 提供一个数组,并通过该数组针对几个不相同点计算 0 阶二类贝塞尔函数的一阶导数。
>>> import numpy as np >>> points = np.array([0.5, 1.5, 3.]) >>> yvp(0, points, 1) array([ 1.47147239, 0.41230863, -0.32467442])
绘制 1 阶二类贝塞尔函数及其头三个导数。
>>> import matplotlib.pyplot as plt >>> x = np.linspace(0, 5, 1000) >>> x[0] += 1e-15 >>> fig, ax = plt.subplots() >>> ax.plot(x, yvp(1, x, 0), label=r"$Y_1$") >>> ax.plot(x, yvp(1, x, 1), label=r"$Y_1'$") >>> ax.plot(x, yvp(1, x, 2), label=r"$Y_1''$") >>> ax.plot(x, yvp(1, x, 3), label=r"$Y_1'''$") >>> ax.set_ylim(-10, 10) >>> plt.legend() >>> plt.show()