当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy special.gamma用法及代码示例


本文简要介绍 python 语言中 scipy.special.gamma 的用法。

用法:

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

伽马函数。

伽马函数定义为

对于 ,并通过解析延拓扩展到复平面的其余部分。有关详细信息,请参阅 [dlmf]。

参数

z array_like

实值或复值参数

out ndarray,可选

函数值的可选输出数组

返回

标量或 ndarray

伽玛函数的值

注意

伽玛函数通常被称为广义阶乘,因为 用于自然数 。更一般地,它满足复数 的递归关系 ,结合 的事实,暗示了 的上述身份。

参考

[dlmf]

NIST 数学函数数字 Library https://dlmf.nist.gov/5.2#E1

例子

>>> import numpy as np
>>> from scipy.special import gamma, factorial
>>> gamma([0, 0.5, 1, 5])
array([         inf,   1.77245385,   1.        ,  24.        ])
>>> z = 2.5 + 1j
>>> gamma(z)
(0.77476210455108352+0.70763120437959293j)
>>> gamma(z+1), z*gamma(z)  # Recurrence property
((1.2292740569981171+2.5438401155000685j),
 (1.2292740569981158+2.5438401155000658j))
>>> gamma(0.5)**2  # gamma(0.5) = sqrt(pi)
3.1415926535897927

绘制实数 x 的 gamma(x)

>>> x = np.linspace(-3.5, 5.5, 2251)
>>> y = gamma(x)
>>> import matplotlib.pyplot as plt
>>> plt.plot(x, y, 'b', alpha=0.6, label='gamma(x)')
>>> k = np.arange(1, 7)
>>> plt.plot(k, factorial(k-1), 'k*', alpha=0.6,
...          label='(x-1)!, x = 1, 2, ...')
>>> plt.xlim(-3.5, 5.5)
>>> plt.ylim(-10, 25)
>>> plt.grid()
>>> plt.xlabel('x')
>>> plt.legend(loc='lower right')
>>> plt.show()
scipy-special-gamma-1.png

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.special.gamma。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。