Oscilador armónico simple. Con ayuda de Maple 9.5 se puede

Anuncio
Oscilador armónico simple. Con ayuda de Maple 9.5 se puede resolver la ecuación de movimiento del sistema
>
assume(k > 0); assume(m > 0);
>
ecuacionDeMovimiento:=diff(x(t),t$2) + k/m*x(t)=0;
>
dsolve(ecuacionDeMovimiento);
Con ayuda de las funciones copiar y pegar se puede definir la posición como función del tiempo
para el oscilador armónico simple:
>
x:=t-> _C1*sin((k*m)^(1/2)*t/m)+_C2*cos((k*m)^(1/2)*t/m);
p
La solución anterior se puede escribir como x(t) = A cos(ωt − φ) donde ω = k/m
>
expand(sqrt(_C1**2 + _C2**2)*(cos((k*m)^(1/2)*t/m-phi)));
C1
C2
, lo cual implica que φ = arctan C1/ C2
, y sen φ = √
C12 + C22
C12 + C22
√
Véase la Figura 1. Por ejemplo, las funciones x1 (t) = 3 sen 4t + 4 cos 4t y x?1 = 32 + 42 cos(4t −
si cos φ = √
arctan 3/4) = 5 cos(4t − arctan 3/4) son iguales como se puede observar al graficarlas
2
2
√ C1
+
C2
C1
φ
C2
Figura 1: Establecimiento del ángulo φ, en términos de C1 y C2
>
plot(3*sin(4*t)+4*cos(4*t),t=-Pi..Pi,scaling=CONSTRAINED);
>
plot(5*cos(4*t-arctan(3/4)),t=-Pi..Pi,scaling=CONSTRAINED);
O bien, lo que se obtiene tras graficar la diferencia de las funciones es:
>
plot(3*sin(4*t)+4*cos(4*t)-(5*cos(4*t-arctan(3/4))),t=-Pi..Pi,scaling=CONSTRAINED,axes=FRAMED);
También es posible verificar que la energı́a es una integral de movimiento.
>
Energia:=t->1/2*m*(diff(x(t),t))**2 + 1/2*k*(x(t))**2;
>
simplify(diff(Energia(t),t));
Oscilador armónico amortiguado: Maple 9.5 se puede utilizar para resolver la ecuación de movimiento del oscilador armónico amortiguado
>
restart; with(plots):m:=1; b:=0.2;k:=2;
>
ecuacionDeMovimiento:=diff(x(t),t$2)+(b/m)*diff(x(t),t)+k/m*x(t)=0;
>
dsolve(ecuacionDeMovimiento);
La función anterior equivale a
>
x(t):=sqrt(_C1**2 + _C2**2)*exp(-b*t/(2*m))*(cos((1/10)*sqrt(199)*t-arctan(_C1/_C2)));
>
_C1:=-5; _C2:=8;
>
xFunT:=plot(x(t),t=0..20,scaling=CONSTRAINED):
>
envSup:=plot(sqrt(_C1**2+_C2**2)*exp(-b*t/(2*m)),t=0..20,scaling=CONSTRAINED):
>
envInf:=plot(-sqrt(_C1**2 +_C2**2)*exp(-b*t/(2*m)),t=0..20,scaling=CONSTRAINED):
>
display(xFunT,envSup,envInf,labels=[t,x]);
Oscilador armónico forzado
Se perturba el oscilador con una fuerza periódica con frecuencia ω
>
restart; with(plots): m:=1; b:=0.2; k:=2; omega:=1;F_0:=2;
>
ecuacionDeMovimiento:=diff(x(t),t$2)+(b/m)*diff(x(t),t)+k/m*x(t)=F_0*cos(omega*t);
>
dsolve(ecuacionDeMovimiento);
Una solución particular tiene las constantes
>
_C1:=8; _C2:=-10;
Nuevamente con ayuda de las funciones copiar y pegar se puede definir la posición como función
del tiempo
> x :=t-> exp(-1/10*t)*sin(1/10*199^(1/2)*t)*_C2+exp(-1/10*t)*
cos(1/10*199^(1/2)*t)*_C1 + 25/13*cos(t)+5/13*sin(t);
Al graficar la posición como función del tiempo se puede observar el regimen transiente y el estacionario
>
plot(x(t),t=0..60,scaling=CONSTRAINED);
Resonancia en el oscilador armónico forzado.
>
restart;
2
La solución general de la ecuación de movimiento m d x
= −b dx − kx + F0 cos(ωt) es
dt
dt2
> x:=t->A*exp(-b*t/(2*m))*(cos(sqrt(k/m- b**2/(4*m**2))*t + phi))+
F_0/((k-omega**2*m)**2+omega**2*b**2)*(omega*b*sin(omega*t)+
(k-omega**2*m)*cos(omega*t));
esto se puede verificar de la siguiente manera
>
m*diff(x(t),t$2);
>
b*diff(x(t),t);
>
simplify(m*diff(x(t),t$2)+b*diff(x(t),t)+k*x(t));
>
with(plots):
Nótese que la amplitud en el régimen estacionario está dada por
>
amplitud:=omega->F_0/(sqrt((k-omega**2*m)**2+omega**2*b**2));
Para un problema particular se puede tener que
>
F_0:=10;m:=1; b:=0.2; k:=2; A:=8; phi:=0;
y
>
omega0:=sqrt(k/m);
La gráfica de la amplitud como función de la frecuencia de la perturbación es:
>
plot(amplitud(omega),omega=.5..2*omega0):
Descargar