Procedimientos numéricos
Sistema de dos ecuaciones diferenciales de segundo orden
Resolver el sistema de dos ecuaciones diferenciales de segundo orden
con las condiciones iniciales:en el instante t=0, la posición inicial es x0, y0, y parte del reposo
public class Oscilador extends RungeKutta2{
double cte_masa;
double lonMuelle;
double lonEquilibrio;
Oscilador(double cte_masa, double lonMuelle, double lonEquilibrio, double h){
super(h);
this.cte_masa=cte_masa;
this.lonMuelle=lonMuelle;
this.lonEquilibrio=lonEquilibrio;
}
public double f(double x, double y, double vx, double vy, double t){
double lonActual=Math.sqrt((lonEquilibrio-y)*(lonEquilibrio-y)+x*x);
return (-cte_masa*(lonActual-lonMuelle)*x/lonActual);
}
public double g(double x, double y, double vx, double vy, double t){
double lonActual=Math.sqrt((lonEquilibrio-y)*(lonEquilibrio-y)+x*x);
return (cte_masa*(lonActual-lonMuelle)*(lonEquilibrio-y) |
