Red de conocimiento informático - Material del sitio web - ¿Cómo implementar la función de acumulación de distribución normal estándar en C++ o Java?

¿Cómo implementar la función de acumulación de distribución normal estándar en C++ o Java?

No hay forma de encontrar la función excepto la integración numérica.

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;

}