Anterior

Ecuación diferencial de segundo orden

Resolver la ecuación diferencial de segundo orden

d 2 θ d t 2 = ( 2g L ( dθ dt ) 2 cosθ )sinθ 1 3 + sin 2 θ

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);

Anterior