scipy.special.
jvp#
- scipy.special.jvp(v, z, n=1)[source]#
計算第一類貝索函數的導數。
計算貝索函數 Jv 相對於 z 的第 n 階導數。
- 參數:
- varray_like 或 float
貝索函數的階
- z複數
評估導數的參數;可以是實數或複數。
- n整數,預設值為 1
導數的階數。若為 0,則返回貝索函數
jv
本身。
- 返回:
- 純量或 ndarray
貝索函數導數的值。
注意
導數是使用關係式 DLFM 10.6.7 [2] 計算得出。
參考文獻
[1]Zhang, Shanjie 和 Jin, Jianming。「Computation of Special Functions」,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()