天天看點

c/c++/c# 快速計算 Cumulative Normal Distribution 正态累積函數CDF

連結:

http://stackoverflow.com/questions/2328258/cumulative-normal-distribution-function-in-c-c

http://www.johndcook.com/blog/cpp_phi/

個人使用的是如下的代碼:

static double CND(double d)
{
    const double       A1 = ;
    const double       A2 = -;
    const double       A3 = ;
    const double       A4 = -;
    const double       A5 = ;
    const double RSQRT2PI = ;

    double
    K =  / ( +  * fabs(d));

    double
    cnd = RSQRT2PI * exp(-  * d * d) *
          (K * (A1 + K * (A2 + K * (A3 + K * (A4 + K * A5)))));

    if (d > )
        cnd =  - cnd;

    return cnd;
}
           

此函數版權屬于NVIDIA