scipy.special.kv#

scipy.special.kv(v, z, out=None) = <ufunc 'kv'>#

實數階第二類修正貝索函數 v

返回實數階 v 在複數 z 的修正貝索函數值。

這些函數有時也稱為第三類函數、巴塞特函數或麥克唐納函數。它們被定義為修正貝索方程式的解,其中,

\[K_v(x) \sim \sqrt{\pi/(2x)} \exp(-x)\]

\(x \to \infty\) [3]

參數:
varray_like of float

貝索函數的階數

zarray_like of complex

評估貝索函數的自變數

outndarray, optional

函數結果的可選輸出陣列

返回值:
純量或 ndarray

結果。請注意,輸入必須為複數類型才能獲得複數輸出,例如 kv(3, -2+0j) 而不是 kv(3, -2)

另請參閱

kve

此函數已去除前導指數行為。

kvp

此函數的導數

註釋

AMOS [1] 常式 zbesk 的包裝函式。 有關所用演算法的討論,請參閱 [2] 和其中的參考文獻。

參考文獻

[1]

Donald E. Amos, “AMOS, A Portable Package for Bessel Functions of a Complex Argument and Nonnegative Order”, http://netlib.org/amos/

[2]

Donald E. Amos, “Algorithm 644: A portable package for Bessel functions of a complex argument and nonnegative order”, ACM TOMS Vol. 12 Issue 3, Sept. 1986, p. 265

[3]

NIST Digital Library of Mathematical Functions, Eq. 10.25.E3. https://dlmf.nist.gov/10.25.E3

範例

繪製多個階數的實數輸入函數

>>> import numpy as np
>>> from scipy.special import kv
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(0, 5, 1000)
>>> for N in np.linspace(0, 6, 5):
...     plt.plot(x, kv(N, x), label='$K_{{{}}}(x)$'.format(N))
>>> plt.ylim(0, 10)
>>> plt.legend()
>>> plt.title(r'Modified Bessel function of the second kind $K_\nu(x)$')
>>> plt.show()
../../_images/scipy-special-kv-1_00_00.png

計算單一值在多個階數下的結果

>>> kv([4, 4.5, 5], 1+2j)
array([ 0.1992+2.3892j,  2.3493+3.6j   ,  7.2827+3.8104j])