Solución:
Apache Commons – Math tiene lo que está buscando.
Más específicamente, consulte el NormalDistribution
clase.
Si desea el código exacto, esta parece ser la misma función que se usa en OpenOffice Calc (hice algunos cambios para que funcione en Java):
// returns the cumulative normal distribution function (CNDF)
// for a standard normal: N(0,1)
double CNDF(double x)
{
int neg = (x < 0d) ? 1 : 0;
if ( neg == 1)
x *= -1d;
double k = (1d / ( 1d + 0.2316419 * x));
double y = (((( 1.330274429 * k - 1.821255978) * k + 1.781477937) *
k - 0.356563782) * k + 0.319381530) * k;
y = 1.0 - 0.398942280401 * Math.exp(-0.5 * x * x) * y;
return (1d - neg) * y + neg * (1d - y);
}
Lo encontré aquí: http://www.codeproject.com/Messages/2622967/Re-NORMSDIST-function.aspx
Un compañero de trabajo sugirió Colt, ya que lo usaba antes. Esta función tiene exactamente el resultado del ejemplo del documento de referencia.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)