2009-01-14 8 views

Antwort

2

Ein Mitarbeiter vorgeschlagen colt, wie er es zuvor verwendet. Diese function hat genau das Ergebnis wie das Beispiel im Referenzdokument.

6

Wenn Sie den genauen Code wollen, dieser scheint die gleiche Funktion in Openoffice Calc verwendet werden (ich habe einige Änderungen vorgenommen für es in Java zu arbeiten):

// 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); 
} 

es hier gefunden: http://www.codeproject.com/Messages/2622967/Re-NORMSDIST-function.aspx

+0

die Frage will das PDF der Normalverteilung! –

+0

Ich glaube nicht. Die Frage sagt "kumulative Standardnormalverteilungsfunktion" sowohl im Titel als auch im Text ... es sei denn, Φ bedeutet, dass es die Wahrscheinlichkeitsdichtefunktion sein soll ... – Erk