Procedimientos numéricos
Integral elíptica
Periodo de un péndulo cuando su energía es menor que la máxima (e<1), se calcula la integral elíptica de primera especie
Cálculo del cociente P/P0 cuando se proporciona el dato de la amplitud θ0 de la oscilación.
//aplicación, periodo de un péndulo P/P0 double angulo=120.0; double k=Math.sin(angulo*Math.PI/360); double periodo=2*Eliptica.primera(Math.PI/2, k)/Math.PI; System.out.println(((double)Math.round(periodo*1000)/1000); |
Ecuación diferencial de segundo orden
Resolver la ecuación diferencial de segundo orden
con las condiciones iniciales: t=0, dθ/dt=0, θ=θ0
public class Oscilador extends RungeKutta{
double frecAngular;
public Oscilador(double frecAngular, double h){
super(h);
this.frecAngular=frecAngular;
}
public double f(double x, double v, double t){
return (-frecAngular*frecAngular*Math.sin(x));
}
}
} |
Integral definida
Cuando la energía total E del péndulo es mayor que el máximo valor de la energía potencial (e>1), el péndulo da vueltas completas.
Cálculo del cociente P/P0cuando se proporciona la energía e del péndulo, aplicando el procedimiento de Simpson
public class Funcion extends Simpson{
double energia;
public Funcion(double energia){
this.energia=energia;
}
public double f(double x){
double y=1.0/Math.sqrt(2*energia-1.0+Math.cos(x));
return y;
}
}
//objetos de la clase Funcion
Funcion f=new Funcion(energia);
double res=f.integral(1000)/(2*Math.PI*Math.sqrt(2));
System.out.println(res);
|
