Guten Morgen,
oefters benutzt und von mir doch nie verstanden, die kumulative
Normalverteilungsfunktion. Insbesondere interessieren mich die im
nachstehenden Code benutzten Faktoren a, woher kommen sie?
Kann man die auch noch genauer berechnen?
Und kann man k * (a1 + k * (-0.356563782 + k * (1.781477937 + k *
(-1.821255978 + k * 1.330274429)))) eventuell vereinfachen?
Bitte nicht all zu mathematisch, sollte auch für Hauptschulabsolventen
wie mich verständlich sein.
MbD, Iwan
1 | /* The cummulative Normal distribution function: */
|
2 |
|
3 | function CND(x){
|
4 |
|
5 | var a1, a2, a3, a4 ,a5, k ;
|
6 |
|
7 | a1 = 0.31938153, a2 =-0.356563782, a3 = 1.781477937, a4= -1.821255978 , a5= 1.330274429;
|
8 |
|
9 | if(x<0.0)
|
10 | return 1-CND(-x);
|
11 | else
|
12 | k = 1.0 / (1.0 + 0.2316419 * x);
|
13 | return 1.0 - Math.exp(-x * x / 2.0)/ Math.sqrt(2*Math.PI) * k
|
14 | * (a1 + k * (-0.356563782 + k * (1.781477937 + k * (-1.821255978 + k * 1.330274429)))) ;
|
15 | }
|