Anterior

Procedimientos numéricos

Ecuación diferencial de segundo orden

Resolver la ecuación diferencial de segundo orden

d 2 y d τ 2 =1k jn+1 j+n (y y i ) 2 ( (y y i ) 2 +1 ) 5 dy dτ

por procedimientos numéricos con las condiciones iniciales: en el instante adimensional τ=0, y=y0, dy/dτ=0. El imán parte del reposo desde la posición adimensional y0.

public class Sistema extends RungeKutta{
    double k; 
    public Sistema(double k, double h){
      super(h);
      this.k=k;
    }
    public double f(double x, double vx, double t){
         return(-1-fuerza(x, vx));
    }
    public double fuerza(double x, double vx){
         int n=(int)x;
         double temp=0.0;
         for(int j=n-4; j<=n+5; j++){
            temp+=(x-j)*(x-j)/((1+(x-j)*(x-j))*(1+(x-j)*(x-j))*(1+(x-j)*(x-j))
*(1+(x-j)*(x-j))*(1+(x-j)*(x-j))); } return (k*temp*vx); } }

Se establece el estado incial

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

Se crea un objeto de la clase derivada

 Sistema sis=new Sistema(parametro, 0.005);

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