Ungefähre Berechnung der Standardnormalverteilungsfunktion

Ich wollte ein Programm schreiben, um die Datenverteilung automatisch zu analysieren, konnte aber die Verteilungsfunktion der Normalverteilung nicht finden. Ich habe versehentlich den Kurs zur Wahrscheinlichkeitstheorie überprüft und festgestellt, dass sich im Anhang eine ungefähre Berechnungsformel befindet! Ich freue mich sehr,

#define pi (3.1415926535898)
#define a0 (0.33267)
#define a1 (0.4361836)
#define a2 (-0.1201676)
#define a3 (0.9372986)
double test(double x)
{
double t = (1.0/(1.0+a0*fabs((x))));
return exp(-x*x/2.0) * t * (a1 + a2*t + a3*t*t) / sqrt(2.0*pi);
}
double testfun(double x)
{
if(x == 0)
{
Rückgabe 0,5;
}
sonst wenn(x > 0)
{
return 1.0 - test(x)/sqrt(2*pi);
}
anders
{
return test(x)/sqrt(2*pi);
}
}

Guess you like

Origin blog.csdn.net/bira55/article/details/38685453