 
	Procedimientos numéricos
Ecuación diferencial de segundo orden
Resolver la ecuación diferencial de segundo orden
por procedimientos numéricos con las condiciones iniciales: en el instante t=0, dx/dt=0,x=x0.
| public class Oscilador extends RungeKutta{
    double masa;
    double longitud;
    double mMagnetico;
    double radio;
    double intensidad;
    int nEspiras;
    public Oscilador(double masa, double longitud, double mMagnetico, double radio, 
double intensidad, int nEspiras, double h){
        super(h);
        this.masa=masa;
        this.longitud=longitud;
        this.mMagnetico=mMagnetico;
        this.radio=radio;
        this.intensidad=intensidad;
        this.nEspiras=nEspiras;
    }
    public double f(double x, double v, double t){
        double aceleracion=mMagnetico*(campo(x+longitud/2)-campo(x-longitud/2))
/(masa*longitud);
        return aceleracion;
    }
  double campo(double x){
    double r=radio*radio+x*x;
    double y=4*Math.PI*1.0e-7*intensidad*nEspiras*radio*radio/(2*Math.pow(r, 1.5));
    return y;
  }
} | 
Se establece el estado incial
Estado estado=new Estado(0.0, x0, 0.0);
Se crea un objeto de la clase derivada
Oscilador oscila=new Oscilador(0.25, longitud, mMagnetico, radio, intensidad, 150, 0.05);
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
oscila.resolver(estado);
