gamma函數與階乘


階乘是正整數特有的運算,正實數是沒有直接的階乘定義。但是如果把階乘函數中離散的點連成一條光滑的曲線,就得到了正實數的階乘。

\(\Gamma\)函數的定義為

\(\Gamma(x)=\int_0^{+\infty}t^{x-1}e^{-t}dt\;(x>0)\)

實際上,\(\Gamma\)函數就是階乘在正實數上的擴展

\(\Gamma(n+1)=n!\)

python代碼驗證如下

from functools import reduce
from math import gamma

def factorial(n):
    """計算n的階乘,即n!"""
    if n == 0:
        return 1
    return reduce(lambda x,y: x*y, range(1, n+1))

for i in range(11):
    print(i, factorial(i), math.gamma(i+1)-factorial(i))

-------------------
0 1 0.0
1 1 0.0
2 2 0.0
3 6 0.0
4 24 0.0
5 120 0.0
6 720 0.0
7 5040 0.0
8 40320 0.0
9 362880 0.0
10 3628800 0.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM