ENUNCIADO DEL EJEMPLO 1
    

   Un disco homogéneo de radio r y de masa m rueda sin deslizar por el interior de un aro de radio R y masa M. Este aro se encuentra confinado en un plano vertical permitiedose su desplazamiento vertical.

   El aro se encuentra ligado al origen de coordenadas por medio de un resorte vertical y lineal de constante k.

   Paso 0. Reiniciación de las variables del sistema y llamada a los paquetes linalg, plots y plottools.

> restart:

> with(linalg):with(plots):with(plottools):

Warning, the protected names norm and trace have been redefined and unprotected

Warning, the name changecoords has been redefined

Warning, the name arrow has been redefined

Además de estos paquetes básicos seránecesario cargar el paquete mecapac indicándole a Maple su situación exacta.

> libname:="C:\",libname:

> with(mecapac3d):

   Paso 1. Definimos las coordenadas generalizadas del sistema en una lista que se denominará cg.

> cg:=[z,theta]:

   Paso 2. Definición mediante variables de los elementos que forman el sistema mecánico. Es decir, el aro, el disco y el muelle.

Comenzamos definiendo el aro de radio R y masa M

> xg1:=[0,R,z+R]:

> rot1:=rota(Pi/2,2):

> rot2:=rota(-Pi/2,1):

> rottot1:=evalm(rot2 &* rot1):

> a1:=[aro,xg1,rottot1,M,R]:

El disco de radio r y masa m:

> xg2:=[0,R+(R-r)*sin(theta),z+R-((R-r)*cos(theta))]:

> rot3:=rota(-theta*(R-r)/r,1):

> rottot2:=evalm(rot3 &* rot1):

> d1:=[disco,xg2,rottot2,m,r]:

El muelle de constante k y masa despreciable:

> c1:=[muelle,[0,R,z],[0,R,0],k,l]:

   Paso 3. Definición de los elementos gráficos que definiran nuestro sistema de ejes.

> a2:=[angulo,[0,R,z],[0,R,z+R],[0,R*(1+sin(theta)),z+R*(1-cos(theta))],1.5]:

> ejeY:=[vector,[0,0,0],[0,20,0],green]:

> ejeZ:=[vector,[0,0,0],[0,0,20],blue]:

> TO := [texto,[0,0,-1],"O"]:

> TY := [texto,[0,15,1],"Y"]:

> TZ := [texto,[0,0,21],"Z"]:

   Paso 4. Definición de la variable sistema que agrupa en una lista todos los elementos anteriores.

> sistema:=[a1,d1,c1,a2,ejeY,ejeZ,TO,TY,TZ]:

   Paso 5. Obtención de la energía cinética del sistema mediante fT asignándola a la variable T.

> T:=fT(sistema);

T := 1/2*M*z1^2+1/2*m*((R-r)^2*cos(theta)^2*theta1^2+(z1+(R-r)*sin(theta)*theta1)^2)+1/4*theta1^2*(R-r)^2*m

   Paso 6. Obtención de la energía potencial del sistema mediante fV asignándola a la variable V.

> V:=fV(sistema);

V := M*g*(z+R)+m*g*(z+R-(R-r)*cos(theta))+1/2*k*((z^2)^(1/2)-l)^2

   Paso 7. Obtención de la lagrangiana como diferencia de energías entre la energía cinética y la potencial.

> L:=simplify(T-V);

L := 3/4*theta1^2*m*R^2-3/2*theta1^2*m*R*r-m*g*cos(theta)*r+m*g*cos(theta)*R+1/2*M*z1^2-M*g*R-m*g*z-m*g*R+1/2*m*z1^2-M*g*z-1/2*k*z^2+k*csgn(z)*z*l-1/2*k*l^2+3/4*theta1^2*m*r^2+m*z1*sin(theta)*theta1*R...

   Paso 8. Obtención de las ecuaciones de lagrange para las dos coordenadas generalizadas mediante el operador Ec_lag

> ecua:=ec_lag();

ecua := [M*diff(z(t), `$`(t, 2))+m*diff(z(t), `$`(t, 2))+m*cos(theta(t))*diff(theta(t), t)^2*R+m*sin(theta(t))*diff(theta(t), `$`(t, 2))*R-m*cos(theta(t))*diff(theta(t), t)^2*r-m*sin(theta(t))*diff(th...ecua := [M*diff(z(t), `$`(t, 2))+m*diff(z(t), `$`(t, 2))+m*cos(theta(t))*diff(theta(t), t)^2*R+m*sin(theta(t))*diff(theta(t), `$`(t, 2))*R-m*cos(theta(t))*diff(theta(t), t)^2*r-m*sin(theta(t))*diff(th...

   Paso 9. Asignación de valores numéricos a los parámetros que queden sun asignar para poder proceder a la integración numérica.

> R:=5.:r:=1.:M:=0.2:m:=0.5:k:=20:l:=5:g:=9.8:

   Paso 10. Integración numérica del problema mediante la función fint asignando el resultado a la variable res.

> res:=fint([2.,0.,Pi/5,2.]):

   Paso 11. Representación gráfica de las evoluciones temporales de z mediante odeplot.

> odeplot(res,[t,z(t)],0..20);

[Plot]

   Paso 12. Procedemos a realizar una animación del movimiento del conjunto por medio de la función dibu3.

> dibu3(7,150);

[Plot]

>