scipy.special.
ivp#
- scipy.special.ivp(v, z, n=1)[source]#
计算第一类修正贝塞尔函数的导数。
计算修正贝塞尔函数 Iv 对 z 的 n 阶导数。
- 参数:
- varray_like or float
贝塞尔函数的阶数
- zarray_like
对导数求值的计算参数;可以是实数或复数。
- nint,默认为 1
导数的阶数。对于 0,返回贝塞尔函数
iv
本身。
- 返回:
- 标量或 ndarray
修正贝塞尔函数的 n 阶导数。
见
注意
使用关系式 DLFM 10.29.5 [2] 计算导数。
参考
[1]Zhang, Shanjie 和 Jin, Jianming。“特殊函数计算”,John Wiley and Sons,1996 年,第 6 章。 https://people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html
[2]NIST 数学函数数字库。 https://dlmf.nist.gov/10.29.E5
示例
计算 1 处的一阶修正 Bessel 函数及其前两个导数。
>>> 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 处一阶修正 Bessel 函数的几个阶数的第一个导数。
>>> ivp([0, 1, 2], 1, 1) array([0.5651591 , 0.70090677, 0.29366376])
通过为 z 提供数组,计算一阶修正 Bessel 函数 1 阶在多个点的第一个导数。
>>> import numpy as np >>> points = np.array([0., 1.5, 3.]) >>> ivp(0, points, 1) array([0. , 0.98166643, 3.95337022])
绘制一阶修正 Bessel 函数 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()