scipy.special.betainc

scipy.special.betainc(a, b, x, out=None) = <ufunc 'betainc'>

贝塔函数不完整。

计算不完整的Beta函数,定义为 [1]:

\[i_x(a,b)=\frac{\Gamma(a+b)}{\Gamma(A)\Gamma(B)}\int_0^x t^{a-1}(1-t)^{b-1}dt,\]

\(0 \leq x \leq 1\)

参数
a, b类似阵列的

正实值参数

x类似阵列的

实值的,这样的 \(0 \leq x \leq 1\) ,积分的上限

outndarray,可选

函数值的可选输出数组

退货
类似阵列的

不完全贝塔函数的值

参见

beta

贝塔函数

betaincinv

不完全贝塔函数的逆

注意事项

不完全的贝塔函数有时也是在没有定义的情况下定义的 gamma 术语,在这种情况下,上述定义是所谓的正则化不完全贝塔函数。在此定义下,您可以通过将SciPy函数的结果乘以得到不完整的Beta函数 beta

参考文献

1

美国国家标准与技术研究院数学函数数字类库https://dlmf.nist.gov/8.17

示例

让我们 \(B(a, b)\) 做一个 beta 功能。

>>> import scipy.special as sc

以以下形式表示的系数 gamma 等于 \(1/B(a, b)\) 。另外,当 \(x=1\) 积分等于 \(B(a, b)\) 。所以呢, \(I_{{x=1}}(a, b) = 1\) 对于任何 \(a, b\)

>>> sc.betainc(0.2, 3.5, 1.0)
1.0

它令人满意 \(I_x(a, b) = x^a F(a, 1-b, a+1, x)/ (aB(a, b))\) ,在哪里 \(F\) 是超几何函数 hyp2f1

>>> a, b, x = 1.4, 3.1, 0.5
>>> x**a * sc.hyp2f1(a, 1 - b, a + 1, x)/(a * sc.beta(a, b))
0.8148904036225295
>>> sc.betainc(a, b, x)
0.8148904036225296

此函数满足以下关系 \(I_x(a, b) = 1 - I_{{1-x}}(b, a)\)

>>> sc.betainc(2.2, 3.1, 0.4)
0.49339638807619446
>>> 1 - sc.betainc(3.1, 2.2, 1 - 0.4)
0.49339638807619446