
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);![]()