當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。