scipy.special.

ivp#

scipy.special.ivp(v, z, n=1)[源代码]#

计算第一类修正贝塞尔函数的导数。

计算修正贝塞尔函数 Iv 关于 z 的 n 阶导数。

参数:
v类数组或浮点数

贝塞尔函数的阶数

z类数组

计算导数的参数;可以是实数或复数。

nint,默认 1

导数阶数。 对于 0,返回贝塞尔函数 iv 本身。

返回:
标量或 ndarray

修正贝塞尔函数的 n 阶导数。

参见

iv

备注

导数是使用关系式 DLFM 10.29.5 [2] 计算的。

参考文献

[1]

张善杰和金建明。“特殊函数的计算”,约翰·威利父子出版社,1996 年,第 6 章。https://people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html

[2]

NIST 数学函数数字图书馆。https://dlmf.nist.gov/10.29.E5

示例

计算 0 阶的第一类修正贝塞尔函数及其在 1 处的头两个导数。

>>> from scipy.special import ivp
>>> ivp(0, 1, 0), ivp(0, 1, 1), ivp(0, 1, 2)
(1.2660658777520084, 0.565159103992485, 0.7009067737595233)

通过为 v 提供一个数组,计算 1 处多个阶的第一类修正贝塞尔函数的一阶导数。

>>> ivp([0, 1, 2], 1, 1)
array([0.5651591 , 0.70090677, 0.29366376])

通过为 z 提供一个数组,计算 0 阶的第一类修正贝塞尔函数在多个点的一阶导数。

>>> import numpy as np
>>> points = np.array([0., 1.5, 3.])
>>> ivp(0, points, 1)
array([0.        , 0.98166643, 3.95337022])

绘制 1 阶的第一类修正贝塞尔函数及其前三个导数。

>>> import matplotlib.pyplot as plt
>>> x = np.linspace(-5, 5, 1000)
>>> fig, ax = plt.subplots()
>>> ax.plot(x, ivp(1, x, 0), label=r"$I_1$")
>>> ax.plot(x, ivp(1, x, 1), label=r"$I_1'$")
>>> ax.plot(x, ivp(1, x, 2), label=r"$I_1''$")
>>> ax.plot(x, ivp(1, x, 3), label=r"$I_1'''$")
>>> plt.legend()
>>> plt.show()
../../_images/scipy-special-ivp-1.png