Ecuación diferencial de segundo orden
Resolver la ecuación diferencial de segundo orden
por procedimientos numéricos con las condiciones iniciales: con las condiciones iniciales: t=0, θ= θ0, dθ/dt=0.
public class Sistema extends RungeKutta{
double lonVarilla;
public Sistema(double lonVarilla, double h){
super(h);
this.lonVarilla=lonVarilla;
}
public double f(double x, double v, double t){
double cte=lonVarilla/(2*9.8);
double y=(Math.sin(x)-cte*v*v*Math.sin(2*x)/2)
/(1.0/3+Math.sin(x)*Math.sin(x))/cte;
return y;
}
}
|
Se establece el estado incial
Estado estado=new Estado(0.0, angInicial, 0.0);
Se crea un objeto de la clase derivada
Sistema sis=new Sistema(lonVarilla, 0.001);
Se llama a la función resolver que determina el estado del sistema en el instante t+h conocido el estado en el instante t
sis.resolver(estado);
