我得到了一个二项分布:
这里,,,
我正在使用 MATLAB 来计算日志并将值存储在logB
m=10^3;
n=10^2;
p=10^(-2);
q=1-p;
logB=log(factorial(m+n)/(factorial(m)*factorial(n))*p^m*q^n)
我得到logB作为 NaN 。如何修改公式以避免浮点错误并获得有效答案?
我得到了一个二项分布:
这里,,,
我正在使用 MATLAB 来计算日志并将值存储在logB
m=10^3;
n=10^2;
p=10^(-2);
q=1-p;
logB=log(factorial(m+n)/(factorial(m)*factorial(n))*p^m*q^n)
我得到logB作为 NaN 。如何修改公式以避免浮点错误并获得有效答案?
这就是gammaln
存在的原因
logB = gammaln(m+n+1) - gammaln(m+1) - gammaln(n+1) + m*log(p) + n*log(q);