Anterior

Procedimientos numéricos

Ecuación diferencial de segundo orden

Resolver la ecuación diferencial de segundo orden

d 2 x dt =k m α1 v 2 +g   m 1α =(1α)kx+ m 0 1α

por procedimientos numéricos con las condiciones iniciales t=0, x=0, (dx/dt)=0, m=m0.

public class Particula extends RungeKutta{
    double m0; //masa inicial
    double k;
    double alfa;
    public Particula(double m0,  double k, double alfa, double h){
      super(h);
      this.m0=m0;
      this.k=k;
      this.alfa=alfa;
    }
    public double f(double x, double v, double t){
      double z=Math.pow(m0, 1-alfa)+k*(1-alfa)*x;
      double y=-k*v*v/z+980;   // en cm/s2
      return y;
    }
}

Se establece el estado incial

    Estado estado=new Estado(0.0, 0.0, 0.0);

Se crea un objeto de la clase derivada

 Particula p=new Particula(m0, k, 2.0/3, 0.025);

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