这个计算器能做什么
本工具会在给定形状参数 a 和 b 的情况下,针对一段 x 的取值区间,同时列出两个密切相关的特殊函数。下不完全贝塔函数 Bx(a,b) 是贝塔核函数从 0 到 x 的积分;正则化不完全贝塔函数 Ix(a,b) 则是这个积分再除以完全贝塔函数 B(a,b) 所得的结果。Ix(a,b) 同时也是 Beta(a,b) 分布的累积分布函数(CDF),并且是二项分布、学生 t 分布、F 分布等众多分布 CDF 背后的核心函数。
使用方法
输入形状参数 a 和 b(两者都必须为正数)。设置起始 x 值(即 x 的初始值)、步长以及重复次数(即表格的行数)。第 i 行对应的 x = 初始 x + i × 步长。所有取值都被限制在 [0, 1] 区间内;一旦 x 达到 1,表格便停止生成。顶部信息框会显示完全贝塔函数 B(a,b) 以及最后一行的结果,下方可滚动的表格则逐一列出每个 x 对应的 Bx(a,b) 与 Ix(a,b)。
公式详解
完全贝塔函数采用数值上更稳定的方式计算:B(a,b) = exp(lgamma(a) + lgamma(b) − lgamma(a+b)),其中对数伽马函数使用 Lanczos 近似法求得。正则化值 Ix(a,b) 则借助经典的《数值方法》(Numerical Recipes)连分式(即 Lentz 算法)来求解:令 bt = exp(lgamma(a+b) − lgamma(a) − lgamma(b) + a·ln x + b·ln(1−x)),当 x < (a+1)/(a+b+2) 时取 Ix = bt·betacf(a,b,x)/a,否则取 Ix = 1 − bt·betacf(b,a,1−x)/b。最后由 Bx(a,b) = Ix(a,b) × B(a,b) 得到结果。端点 I0 = 0 与 I1 = 1 会被精确处理,以避免出现 log(0)。
计算实例
取 a = 1、b = 3:B(1,3) = Γ(1)Γ(3)/Γ(4) = (1·2)/6 = 1/3 ≈ 0.333333。在 x = 0.5 处,闭式公式给出 Bx = (1 − (1−x)^3)/3 = (1 − 0.125)/3 = 0.291667,于是 Ix = 0.291667 / 0.333333 = 0.875。再用对称性进行验算:Ix(1,3) = 1 − (1−x)^3 = 1 − 0.125 = 0.875,结果完全吻合。
常见问题
Bx 和 Ix 有什么区别?Bx(a,b) 是未经归一化的原始积分;Ix(a,b) = Bx(a,b)/B(a,b) 经过归一化处理,取值始终介于 0 和 1 之间。
为什么 a 和 b 必须为正数?只有当 a > 0 且 b > 0 时,相应的积分和伽马函数才能收敛。
如果步长让 x 超过了 1 怎么办?每个 x 都会被限制为最大 1,表格会在 x = 1 处停止;此时 Bx(a,b) = B(a,b),Ix(a,b) = 1。