Anterior

Ecuación diferencial de segundo orden

Resolver la ecuación diferencial de segundo orden

d 2 r d t 2 = r L 2 ( I v +m r 2 ) 2 2k m r

por procedimientos numéricos con las condiciones iniciales: con las condiciones iniciales:en el instante t=0, la velocidad radial de la masa es dr/dt=0, y su distancia al eje r=r0.

public class Sistema extends RungeKutta{
    double mBloque;
    final double inerciaVarilla=1.0/12;    
    double cMuelle;
    double mAngular;
    public Sistema(double mBloque, double cMuelle, double mAngular, double h){
      super(h);
      this.mBloque=mBloque;
      this.cMuelle=cMuelle;
      this.mAngular=mAngular;
    }
    public double f(double x, double v, double t){     
         double aceleracion=mAngular*mAngular*x/
((inerciaVarilla+mBloque*x*x)*(inerciaVarilla+mBloque*x*x))-2*cMuelle*x/mBloque; return aceleracion; } }

Se establece el estado incial

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

Se crea un objeto de la clase derivada

double mAngular=(mBloque*pos*pos+inerciaVarilla)*vAngular;
Sistema sis=new Sistema(mBloque, cMuelle, mAngular, 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

sis.resolver(estado);

Anterior