Javascript中的累积分布函数

我正在寻找一种在Javascript中计算累积分布函数的方法.有没有实现过这个的课程?你有想法让它发挥作用吗?它不需要100%准确,但我需要对价值有所了解.

http://en.wikipedia.org/wiki/Cumulative_distribution_function

最佳答案
我能够借助Is there an easily available implementation of erf() for Python?和维基百科的知识编写自己的函数.

计算不是100%正确,因为它只是一个近似值.

function normalcdf(mean, sigma, to) 
{
    var z = (to-mean)/Math.sqrt(2*sigma*sigma);
    var t = 1/(1+0.3275911*Math.abs(z));
    var a1 =  0.254829592;
    var a2 = -0.284496736;
    var a3 =  1.421413741;
    var a4 = -1.453152027;
    var a5 =  1.061405429;
    var erf = 1-(((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*Math.exp(-z*z);
    var sign = 1;
    if(z < 0)
    {
        sign = -1;
    }
    return (1/2)*(1+sign*erf);
}

normalcdf(30, 25, 1.4241); //-> 0.000223264606750539
//wolframalpha.com              0.000223221102572082

转载注明原文:Javascript中的累积分布函数 - 代码日志