
Procedimientos numéricos
Ecuación diferencial de segundo orden
Resolver la ecuación diferencial de segundo orden
con las condiciones iniciales: En el instante t=0, la posición inicial de la partícula es x=0.02 y parte del reposo, su velocidad inicial es dx/dt=0 y su masa inicial es m0=1.0·10-6
public class Oscilador extends RungeKutta{ final double k=0.01; final double beta1=0.0003; final double beta2=0.1; double flujo; double masaIni=1.0e-6; double masa; public Oscilador(double flujo, double paso){ super(paso); this.flujo=flujo; } void setMasa(double m){ masaIni=m; } double getMasa(){ return masa; } public double f(double x, double v, double t){ masa=masaIni+flujo*t; double y=9.8-k*x/masa-(beta1+beta2*flujo)*v/masa; return y; } } |
