簡體   English   中英

如何用非整數計算二項式系數

[英]how to calculate binomial coefficents with non-integer numbers

我知道如何計算select(5,2)的二項式系數,但是現在我想知道是否存在可以用python或R編程語言計算select(5,2.1)的函數?

“ n選擇k”的組合公式為

在此處輸入圖片說明

其中nk是整數。 實數集中xy的廣義形式為

在此處輸入圖片說明

其中Γ(x)是伽馬函數,階乘的廣義形式。

要在Python中創建此代碼,可以使用以下代碼:

import math

def generalized_binomial(x,y):
    return math.gamma(x+1) / (math.gamma(y+1) * math.gamma(x-y+1))

generalized_binomial(5,2.1)
# returns:
10.304042688575835

使用scipy中的伽馬函數和二項式系數的擴展定義。

>>> from scipy.special import gamma
>>> def choose(x,y):
...     return gamma(x+1)/(gamma(y+1)*gamma(x-y+1))
... 
>>> choose(5,2.1)
10.304042688575837

在R中,您可以使用gamma如下函數:

choose <- function(x, y) {
  return(gamma(x+1)/(gamma(y+1)*gamma(x-y+1)))
}

print(choose(5,2.1)) # 10.30404

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM