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, la varilla se encuentra en la posición x=x0, en reposo, dx/dt=0.
public class Sistema extends RungeKutta {
double tau; //constante de tiempo
public Sistema(double h, double tau){
super(h);
this.tau=tau;
}
public double f(double x, double v, double t){
double y=-(1-Math.exp(-t/tau))*((1-Math.exp(-t/tau))*v+x*Math.exp(-t/tau)/tau);
return y;
}
} |
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(0.01, tau);
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);![]()
