我知道如何计算选择的二项式系数(5,2),但现在我想知道是否有一个函数可以用python或R编程语言计算选择(5,2.1)?
答案 0 :(得分:3)
" n的组合公式选择k"
给出其中n
和k
是整数。
x
和y
的通用版本
其中Γ(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