este problema se puede abordar de variadas maneras, sin embargo te enseñamos la solución más completa para nosotros.
Solución:
Apache Commons – Math tiene lo que buscas.
Más específicamente, echa un vistazo a la NormalDistribution
clase.
Si desea el código exacto, esta parece ser la misma función utilizada en OpenOffice Calc (he realizado 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 que el ejemplo en el documento de referencia.
Calificaciones y reseñas
Eres capaz de corroborar nuestra labor poniendo un comentario o dejando una valoración te lo agradecemos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)