scipy.special.kn#

scipy.special.kn(n, x, out=None) = <ufunc 'kn'>#

第二类整数阶修正贝塞尔函数 n

返回实数 z 处整数阶 n 的第二类修正贝塞尔函数。

这些有时也称为第三类函数、巴塞尔函数或麦克唐纳函数。

参数:
narray_like of int

贝塞尔函数的阶数(浮点数将截断并发出警告)

xarray_like of float

计算贝塞尔函数的参数

outndarray,可选

函数结果的可选输出数组。

返回:
标量或 ndarray

第二类修正贝塞尔函数的值,\(K_n(x)\)

另请参阅

kv

相同函数,但接受实数阶和复数参数

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

示例

绘制几个阶数的实数输入函数

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

计算多个阶数的单个值

>>> kn([4, 5, 6], 1)
array([   44.23241585,   360.9605896 ,  3653.83831186])