Cálculo aproximado de la función de distribución normal estándar

Quería escribir un programa para analizar automáticamente la distribución de datos, pero no pude encontrar la función de distribución de la distribución normal. ¡Accidentalmente revisé el curso de teoría de probabilidades y descubrí que hay una fórmula de cálculo aproximada en el apéndice! Muy feliz de registrar

#define pi (3.1415926535898)
#define a0 (0.33267)
#define a1 (0.4361836)
#define a2 (-0.1201676)
#define a3 (0.9372986)
prueba doble (doble x)
{
doble 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);
}
doble testfun(doble x)
{
si(x == 0)
{
devuelve 0,5;
}
si no (x > 0)
{
volver 1.0 - prueba(x)/raíz cuadrada(2*pi);
}
demás
{
volver prueba(x)/raíz cuadrada(2*pi);
}
}

Supongo que te gusta

Origin blog.csdn.net/bira55/article/details/38685453
Recomendado
Clasificación