Código fuente de análisis de métodos
Apliqué el procedimiento anterior para ver si esto es lo que significa. . . .
¿Público? ¿clase? ¿Runge Kuta? {
¿Electricidad estática? ¿Doble? ¿respuesta? =?0.2;
¿Electricidad estática? ¿Doble? ¿b? =?0.2;
¿Electricidad estática? ¿Doble? ¿do? =?5.7;
¿Electricidad estática? ¿Doble? ¿Fin? =?2.0;
¿Público? ¿Electricidad estática? ¿Vacío? principal(Cadena[]?args)? {
¿Doble? x0? =?1.0; //El valor inicial de x es x0
¿Doble? ¿y0? =?1.0; //El valor inicial de y0
¿Doble? z0? =?1.0; //El valor inicial de z0
¿Doble? h? =?0.01;//Tamaño del paso de búsqueda
//Establecer x en? =?x0? =?en 0,y? =?y0? =?0,?z=? z0? =?0
DoRungeKutta(h,?x0,?you?z0);
}
¿Público? ¿Electricidad estática? ¿Vacío? DoRungeKutta(doble?h,?doble?x,?doble?y,?doble?z){
int? ¿I? =?0;
mientras(Math.abs(y?-?yEnd)? gt?0.0001){
x? =?x? ?h;
¿Doble? y1? =?dydx(x,?y,?z);
¿Doble? z1? =?dzdx(x,y,?z);
¿Doble? y2? =?dydx(x,?y??h/2*y1?,?z??h/2 * z 1);
¿Doble? z2? =?dzdx(x, y? ?h/2*y1?,?z? ?h/2 * z 1);
¿Doble? y3? =?dydx(x,?y??h/2*y2?,?z??h/2 * z2);
¿Doble? z3? =?dzdx(x, y? ?h/2*y2?,?z? ?h/2 * z2);
¿Doble? y4? =?dydx(x,?y??h*y3?,?z??h*z3);
¿Doble? z4? =?dzdx(x, y? ?h*y3?,?z? ?h * z3);
y? =?y? ?h/6*(y1? ?2*y2? ?2*y3? ?y4);
z? =?z? ?h/6*(z1? ?2*z2? ?2*z3? ?Z4);
i;
}
Salida del sistema. println(x "?" y "?" z "?" I);
}
¿Público? ¿Electricidad estática? ¿Doble? dydx(¿doble?x,?doble?y,?doble?z){
¿Doble? ¿Función? =?(x? ?Respuesta?*?y)/(-y?-?z);
¿Regresión? Función;
}
¿Público? ¿Electricidad estática? ¿Doble? dzdx(doble?x,?doble?y,?doble?z){
¿Doble? ¿Función? =?(b? ?(x?-?c)?*?z)/(-y?-?z);
¿Regresión? Función;
}
}