Anterior

Procedimiento numérico

Ecuación diferencial de segundo orden

Resolver la ecuación diferencial de segundo orden

d 2 θ d t 2 = g R sinθ

por procedimientos numéricos con las condiciones iniciales t=0, θ=θ0, dθ/dt=ω0.

public class Particula extends RungeKutta{
   double radio=15.0;
    public Particula(double radio,  double h){
        super(h);
        this.radio=radio;
    }
    public double f(double x, double v, double t){
        double temp=9.8*Math.sin(x)/radio;
        return temp;
    }
}

Se establece el estado incial

    double angulo=0.02;   //un poco más de 1 grado
    double vAngular=Math.sqrt(9.8/radio)*2*Math.sin(angulo/2);
    Estado estado=new Estado(0.0, angulo, vAngular);

Se crea un objeto de la clase derivada

 Particula p=new Particula(radio, 0.01);

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

p.resolver(estado);
Anterior