c/c++/c# 快速计算 Cumulative Normal Distribution 正态累积函数CDF

来源:互联网 发布:淘宝鹊桥软件 编辑:程序博客网 时间:2024/05/29 04:33

链接:
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 = 0.31938153;    const double       A2 = -0.356563782;    const double       A3 = 1.781477937;    const double       A4 = -1.821255978;    const double       A5 = 1.330274429;    const double RSQRT2PI = 0.39894228040143267793994605993438;    double    K = 1.0 / (1.0 + 0.2316419 * fabs(d));    double    cnd = RSQRT2PI * exp(- 0.5 * d * d) *          (K * (A1 + K * (A2 + K * (A3 + K * (A4 + K * A5)))));    if (d > 0)        cnd = 1.0 - cnd;    return cnd;}

此函数版权属于NVIDIA

0 0
原创粉丝点击