scipy.special.
ivp#
- scipy.special.ivp(v, z, n=1)[source]#
計算第一類變形貝索函數的導數。
計算變形貝索函數 Iv 對於 z 的第 n 階導數。
- 參數:
- varray_like 或 float
貝索函數的階數
- zarray_like
計算導數時的參數值;可以是實數或複數。
- nint,預設值為 1
導數的階數。若為 0,則返回貝索函數
iv
本身。
- 返回:
- 純量或 ndarray
變形貝索函數的第 n 階導數。
參見
註解
此導數的計算使用關係式 DLFM 10.29.5 [2]。
參考文獻
[1]Zhang, Shanjie 和 Jin, Jianming. “Computation of Special Functions”, John Wiley and Sons, 1996, chapter 6. https://people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html
[2]NIST Digital Library of Mathematical Functions. 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()