Anterior

Ecuación diferencial de segundo orden

Resolver la ecuación diferencial de segundo orden

d 2 θ d t 2 + (m+M)gd I 0 sinθ=0

por procedimientos numéricos con las condiciones iniciales: en el intante t=0, θ=0, dθ/dt=ω, velocidad angular después del choque.

public class Sistema extends RungeKutta{
    double masaBala;
    double masaCilindro;
	double mInercia;
	double radio;
    public Sistema(double masaBala, double masaCilindro, double mInercia, 
double radio, double h){ super(h); this.masaBala=masaBala; this.masaCilindro=masaCilindro; this.mInercia=mInercia; this.radio=radio; } public double f(double x, double v, double t){ double aceleracion=(-9.8*(masaCilindro+masaBala)*Math.sin(x)*radio/mInercia); return aceleracion; } }

Se establece el estado incial

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

Se crea un objeto de la clase derivada

Sistema sis=new Sistema(masaBala, masaCilindro, mInercia, 0.5, 0.01);

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