如何计算非整数的二项式系数

时间:2017-12-09 04:09:07

标签: python r binomial-coefficients

我知道如何计算选择的二项式系数(5,2),但现在我想知道是否有一个函数可以用python或R编程语言计算选择(5,2.1)?

3 个答案:

答案 0 :(得分:3)

" n的组合公式选择k"

给出

enter image description here

其中nk是整数。

给出了实数集合中xy的通用版本

enter image description here

其中Γ(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

答案 1 :(得分:1)

使用scipy中的gamma函数和二项式系数的扩展定义。

>>> 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

答案 2 :(得分:1)

在R中你可以使用gamma创建这样的函数:

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

print(choose(5,2.1)) # 10.30404