Procedimiento numérico
Resuelve la ecuación diferencial de segundo orden
por procedimientos numéricos con las siguientes condiciones iniciales t=0, θ=θ0, (dθ/dt)=0
public class Oscilador extends RungeKutta{
double masa;
double lon;
public Oscilador(double masa, double lon, double h){
super(h);
this.masa=masa;
this.lon=lon;
}
public double f(double x, double v, double t){
double y=-Math.sin(x)*Math.cos(x)*v*v/(masa+Math.sin(x)*Math.sin(x))-
9.8*(masa+1)*Math.sin(x)/((masa+Math.sin(x)*Math.sin(x))*lon);
return y;
}
}
|
Se establece el estado incial
Estado estado=new Estado(0.0, angInicial, 0.0);
Se crea un objeto de la clase derivada
//mB es la masa de la plataforma, lon es la longitud del péndulo, Oscilador oscila=new Oscilador(mB, lon, 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
oscila.resolver(estado);![]()
