¿Cómo implementar la función de acumulación de distribución normal estándar en C++ o Java?
La escritura simple es ineficiente. Si quieres ser más eficiente, debes aprender algoritmos avanzados de integración numérica.
Se recomienda utilizar el método de búsqueda de tablas, que consiste en escribir el código físico de la tabla de distribución normal estándar directamente en el programa y luego buscar la tabla.
Cuando lo miré, un * * en la tabla era 30*10=300 (por supuesto, solo la mitad).
La velocidad de búsqueda de tablas es absolutamente incomparable.
Te da un método ineficiente
Público estático doble y(doble x) {
Retorno 1/Math.sqrt(2 * Math.PI) * Math .pow(Math. e, -x * x/2);
}
Doble brillo estático público (doble x) {
if( x < ;-3.9) {
Devuelve 0;
} else if(x & gt;3.9) {
Devuelve 1;
}
Doble f = 0;
Doble PC = -5;
Doble paso = 0.00001
for( doble i = pc i<x; i += tamaño de paso)
f += y(i) * tamaño de paso;
return f;
}