Question

Tout en recherchant une implémentation C ++ d'Excel NORMDIST fonction (cumulative) que j'ai trouvé ceci sur un site Web:

static double normdist(double x, double mean, double standard_dev)
{
    double res;
    double x=(x - mean) / standard_dev;
    if (x == 0)
    {
        res=0.5;
    }
    else
    {
        double oor2pi = 1/(sqrt(double(2) * 3.14159265358979323846));
        double t = 1 / (double(1) + 0.2316419 * fabs(x));
        t *= oor2pi * exp(-0.5 * x * x) 
             * (0.31938153   + t 
             * (-0.356563782 + t
             * (1.781477937  + t 
             * (-1.821255978 + t * 1.330274429))));
        if (x >= 0)
        {
            res = double(1) - t;
        }
        else
        {
            res = t;
        }
    }
    return res;
}

Mes connaissances en mathématiques limitées m'ont fait réfléchir Série Taylor, mais je ne suis pas en mesure de déterminer d'où viennent ces chiffres:

0.2316419, 0.31938153, -0.356563782, 1.781477937, -1.821255978, 1.330274429

Quelqu'un peut-il suggérer d'où ils viennent et comment ils peuvent être dérivés?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top