Anterior

Ecuación diferencial de segundo orden

Resolver la ecuación diferencial de segundo orden

d 2 θ d t 2 = GM·d·sinθ 2l ( 1 r 1 3 1 r 2 3 ) r 1 2 = ( R+l·cosθ ) 2 + ( l·sinθ ) 2 = R 2 + l 2 +2lRcosθ r 2 2 = ( Rl·cosθ ) 2 + ( l·sinθ ) 2 = R 2 + l 2 2lRcosθ

Con las condiciones iniciales siguientes: en el instante t=0, θ=π/6, dθ/dt=0.

public class Oscilador extends RungeKutta{
    double lon; 
    double r; 
    public Oscilador(double lon, double r, double h){
      super(h);
      this.lon=lon;
      this.r=r;
    }
    public double f(double x, double v, double t){
         double r1=1.0+lon*lon/(r*r)-2*lon*Math.cos(x)/r;
         double r2=1.0+lon*lon/(r*r)+2*lon*Math.cos(x)/r;
         double y=-(1.543e-6*Math.sin(x)/(2*lon*r*r))*
(1.0/Math.pow(r1, 1.5)-1.0/Math.pow(r2, 1.5)); return y; } }
//Objetos de la clase Oscilador Estado estado=new Estado(0.0, Math.PI/6, 0.0); Oscilador oscilador=new Oscilador(lon, r, 10.0); //rutina que calcula la trayectoria paso a paso oscilador.resolver(estado);
Anterior