Sistema formado por n péndulos acoplados (II)
Un péndulo

El péndulo compuesto está formado por una varilla de masa m y longitud l, que está suspendido de su extremo. El momento de inercia de una varilla respecto de un eje perpendicular a la misma y que pasa por su centro de masa es Ic=ml2/12
Las coordenadas del centro de masa (punto de color rojo) son x1=(l/2)sinθ1, y1=(l/2)cosθ1. Derivando con respecto del tiempo obtenemos la velocidad del centro de masas.
La energía cinética, T1 es la suma de la energía cinética de traslación del c.m. con velocidad v1 y la energía cinética de rotación alrededor de un eje perpendicular a la varilla y que pasa por el c.m. con velocidad angular dθ1/dt
que coincide con la energía cinética de rotación alrededor de un eje perpendicular a la varilla y que pasa por su extremo. El momento de inercia de la varilla respecto de dicho eje, aplicando Steiner es, Io=ml2/12+m(l/2)2=ml2/3
La variación de energía potencial del c.m. es
Para ángulos θ pequeños, hacemos la aproximación 1-cosθ≈θ2/2
La lagrangiana L1=T1-V1 es
La ecuación del movimiento
La solución de esta ecuación diferencial es θ1=Asin(ωt)+Bcos(ωt), con ω2=3g/(2l). Los coeficientes A y B se determinan a partir de las condiciones iniciales (posición y velocidad)
Dos péndulos acoplados

Las coordenadas del c.m. de la segunda varilla son x2=lsinθ1+(l/2)sinθ2, y2=lcosθ1+(l/2)cosθ2. Derivando con respecto del tiempo obtenemos la velocidad del c.m.
La energía cinética, T2 es la suma de la energía cinética de traslación del c.m. con velocidad v2 y la energía cinética de rotación alrededor de un eje perpendicular a la varilla y que pasa por el c.m. con velocidad angular dθ2/dt
Para ángulos θ1 y θ2 pequeños, hacemos la aproximación cos(θ1-θ2)≈1
La variación de energía potencial del c.m. es
Para ángulos θ pequeños, hacemos la aproximación 1-cosθ≈θ2/2
La lagrangiana L2=L1+T2-V2 es
Las ecuaciones del movimiento
La forma general del ángulo θ1 en función del tiempo t es una combinación de los dos modos normales de vibración de frecuencias ω1 y ω2 que calcularemos más adelante.
θ1(t)=A1sin(ω1t)+ B1cos(ω1t)+ C1sin(ω2t)+ D1cos(ω2t)
Lo mismo para θ2
θ2(t)=A2sin(ω1t)+ B2cos(ω1t)+ C2sin(ω2t)+ D2cos(ω2t)
Las dos ecuaciones diferenciales proporcionan cuatro relaciones entre los coeficientes y las condiciones iniciales (posición y velocidad) otras cuatro de las que se despejan, A1, A2, B1, B2, C1, C2. Como hemos visto en el péndulo doble, siempre es posible encontrar las condiciones iniciales que hacen que algunos coeficientes sean cero. De modo que, la solución más simple sea θ1=A1sin(ω1t), θ2=A2sin(ω1t), para ω1, y θ1=C1sin(ω2t), θ2=C2sin(ω2t), para ω2.
Vamos a calcular y representar los modos normales de vibración. Suponiendo una solución de la forma θ 1=A1sin(ωt), θ2=A2sin(ωt), obtenemos el sistema de ecuaciones
En este sistema homogéneo de dos ecuaciones con dos incógnitas, el determinante de los coeficientes ha de ser cero
En el código
>> syms g x; >> A=[(3*g/2-4*x/3),-x/2;-x/2,(g/2-x/3)]; >> eq=det(A) eq = (3*g^2)/4 - (7*g*x)/6 + (7*x^2)/36 >> solve(eq,x) ans = 3*g - (6*7^(1/2)*g)/7 3*g + (6*7^(1/2)*g)/7
Tomamos la segunda ecuación del sistema homogéneo de dos ecuaciones, para calcular la amplitud A2 en términos de la amplitud A1
Calculamos A2 para el primer modo de vibración de frecuencia angular ω=ω1. El ángulo θ1 que forma el primer péndulo con la vertical será proporcional a A1 y el ángulo θ2 que forma el segundo péndulo con la vertical será proporcional a A2. Representamos el primer modo de vibración.
L=1; %longitud total n=2; %número de péndulos w2=[3-6*sqrt(7)/7,3+6*sqrt(7)/7]*9.8/(L/n); %cuadrado frecuencias A1=0.2; %escala iModo=1; %modo de vibración A2=w2(iModo)*A1/(9.8/(L/n)-2*w2(iModo)/3); angulos=[A1,A2]; hold on x1=0; y1=0; %origen plot(x1,y1,'ko','markersize',4,'markerfacecolor','k') for j=1:n x2=x1+(L/n)*sin(angulos(j)); y2=y1-(L/n)*cos(angulos(j)); line([x1,x2],[y1,y2], 'lineWidth',1.5) if j==n break; end plot(x2,y2,'ro','markersize',3,'markerfacecolor','r') x1=x2; y1=y2; end text(0.1,-0.1, sprintf('frecuencia angular, %1.3f',sqrt(w2(iModo)))) hold off axis equal xlabel('x') ylabel('y') grid on title(sprintf('Modo de vibración, %i',iModo))
Repetimos para el segundo modo de vibración de frecuencia angular ω=ω2, cambiando el valor de la variable
Tres péndulos

Las coordenadas del c.m. de la tercera varilla son x3=lsinθ1+lsinθ2+(l/2)sinθ3, y3=lcosθ1+lcosθ2+(l/2)cosθ3. Derivando con respecto del tiempo obtenemos la velocidad del c.m.
La energía cinética, T3 es la suma de la energía cinética de traslación del c.m. con velocidad v3 y la energía cinética de rotación alrededor de un eje perpendicular a la varilla y que pasa por el c.m. con velocidad angular dθ3/dt
Para ángulos θ1, θ2 y θ3 pequeños, hacemos la aproximación cos(θ1-θ2)≈1, cos(θ1-θ3)≈1 y cos(θ2-θ3)≈1
La variación de energía potencial del c.m. es
La lagrangiana es
Las ecuaciones del movimiento
Vamos a calcular y representar los modos normales de vibración. Suponiendo una solución θ1=A1sin(ωt), θ2=A2sin(ωt), θ3=A3sin(ωt), obtenemos el sistema de ecuaciones
En este sistema homogéneo de tres ecuaciones con tres incógnitas, el determinante de los coeficientes ha de ser cero
Obtenemos la ecuación cúbica en ω2. En el código
>> syms g x; >> A=[(5*g/2-7*x/3),-3*x/2,-x/2;-3*x/2,(3*g/2-4*x/3),-x/2;-x/2,-x/2,(g/2-x/3)]; >> eq=det(A) eq = (15*g^3)/8 - (14*g^2*x)/3 + (41*g*x^2)/24 - (13*x^3)/108
Los cuadrados de las frecuencias de los modos normales de vibración son las raíces de esta ecuación
>> n=3; %número de péndulos >> L=1; %longitud total >> roots([-13/108,41*9.8/(24*(L/n)), -14*9.8^2/(3*(L/n)^2),15*9.8^3/(8*(L/n)^3)]) ans = 314.7970 88.2000 14.2569
Tomamos la segunda y tercera ecuación del sistema homogéneo de tres ecuaciones, para calcular las amplitudes A2 y A3 en términos de la amplitud A1
En el código
>> syms g x; >> A=[(3*g/2-4*x/3),-x/2;-x/2,(g/2-x/3)]; >> det(A) ans = (3*g^2)/4 - (7*g*x)/6 + (7*x^2)/36 %denominador >> A=[3/2,-x/2;1/2,(g/2-x/3)]; >> det(A) ans = (3*g)/4 - x/4 %numerador A2 >> A=[(3*g/2-4*x/3),3/2;-x/2,1/2]; >> det(A) ans = (3*g)/4 + x/12 %numerador A3
Calculamos A2 y A3 para el primer modo de vibración de frecuencia angular ω=ω1. El ángulo θ1 que forma el primer péndulo con la vertical será proporcional a A1, el ángulo θ2 que forma el segundo péndulo con la vertical será proporcional a A2 y el ángulo θ3 que forma el tercer péndulo con la vertical será proporcional a A3. Representamos el primer modo de vibración.
L=1; %longitud total n=3; %número de péndulos w2=sort(roots([-13/108,41*9.8/(24*(L/n)), -14*9.8^2/(3*(L/n)^2), 15*9.8^3/(8*(L/n)^3)])); A1=0.2; %escala iModo=3; %modo de vibración den=7*w2(iModo)^2/36-7*w2(iModo)*9.8/(6*L/n)+3*9.8^2/(4*(L/n)^2); A2=(-w2(iModo)/4+3*9.8/(4*L/n))*w2(iModo)*A1/den; A3=(w2(iModo)/12+3*9.8/(4*L/n))*w2(iModo)*A1/den; angulos=[A1,A2, A3]; hold on x1=0; y1=0; %origen plot(x1,y1,'ko','markersize',4,'markerfacecolor','k') for j=1:n x2=x1+(L/n)*sin(angulos(j)); y2=y1-(L/n)*cos(angulos(j)); line([x1,x2],[y1,y2], 'lineWidth',1.5) if j==n break; end plot(x2,y2,'ro','markersize',3,'markerfacecolor','r') x1=x2; y1=y2; end text(0.1,-0.1, sprintf('frecuencia angular, %1.3f',sqrt(w2(iModo)))) hold off axis equal xlabel('x') ylabel('y') grid on title(sprintf('Modo de vibración, %i',iModo))
Repetimos para el segundo modo de vibración de frecuencia angular ω=ω2, cambiando el valor de la variable
Repetimos para el tercer modo de vibración de frecuencia angular ω=ω3, cambiando el valor de la variable
Cuatro péndulos

Las coordenadas del c.m. de la tercera varilla son x4=lsinθ1+lsinθ2+lsinθ3+(l/2)sinθ4, y4=lcosθ1+lcosθ2+lcosθ3+(l/2)cosθ4. Derivando con respecto del tiempo obtenemos la velocidad del c.m.
La energía cinética, T4 es la suma de la energía cinética de traslación del c.m. con velocidad v4 y la energía cinética de rotación alrededor de un eje perpendicular a la varilla y que pasa por el c.m. con velocidad angular dθ4/dt
Para ángulos θ1, θ2, θ3 y θ4 pequeños, hacemos la aproximación cos(θ1-θ2)≈1, cos(θ1-θ3)≈1, cos(θ1-θ4)≈1, cos(θ2-θ3)≈1, cos(θ2-θ4)≈1 y cos(θ3-θ4)≈1
La variación de energía potencial del c.m. es
La lagrangiana es
Las ecuaciones del movimiento
Vamos a calcular y representar los modos normales de vibración. Suponiendo una solución θ1=A1sin(ωt), θ2=A2sin(ωt), θ3=A3sin(ωt), θ4=A4sin(ωt) obtenemos el sistema de ecuaciones
En este sistema homogéneo de cuatro ecuaciones con cuatro incógnitas, el determinante de los coeficientes ha de ser cero
Obtenemos la ecuación cuarto orden en ω2. En el código
>> syms g x; >> A=[(7*g/2-10*x/3),-5*x/2, -3*x/2,-x/2;-5*x/2,(5*g/2-7*x/3),-3*x/2,-x/2; -3*x/2,-3*x/2,(3*g/2-4*x/3),-x/2; -x/2,-x/2,-x/2,(g/2-x/3)]; >> det(A) ans =(105*g^4)/16 - (271*g^3*x)/12 + (943*g^2*x^2)/72 - (215*g*x^3)/108 + (97*x^4)/1296
Los cuadrados de las frecuencias de los modos normales de vibración son las raíces de esta ecuación
>> n=4; %número de péndulos >> L=1; %longitud total >> roots([97/1296,-215*9.8/(108*L/n),943*9.8^2/(72*(L/n)^2), -271*9.8^3/(12*(L/n)^3),105*9.8^4/(16*(L/n)^4)]) ans = 690.8821 254.8446 82.6924 14.2201
Tomamos la segunda, tercera y cuarta ecuación del sistema homogéneo de cuatro ecuaciones, para calcular las amplitudes A2, A3 y A4 en términos de la amplitud A1
Calculamos los determinantes. En el código
>> syms g x; %denominador >> A=[(5*g/2-7*x/3),-3*x/2,-x/2;-3*x/2,(3*g/2-4*x/3),-x/2; -x/2,-x/2,(g/2-x/3)]; >> det(A) ans = (15*g^3)/8 - (14*g^2*x)/3 + (41*g*x^2)/24 - (13*x^3)/108 %numerdador A2 >> A=[5/2,-3*x/2,-x/2;3/2,(3*g/2-4*x/3),-x/2; 1/2,-x/2,(g/2-x/3)]; >> det(A) ans = (15*g^2)/8 - (17*g*x)/12 + (11*x^2)/72 %numerdador A3 >> A=[(5*g/2-7*x/3),5/2,-x/2;-3*x/2,3/2,-x/2; -x/2,1/2,(g/2-x/3)]; >> det(A) ans = (15*g^2)/8 - (g*x)/2 - x^2/24 %numerdador A4 >> A=[(5*g/2-7*x/3),-3*x/2,5/2;-3*x/2,(3*g/2-4*x/3),3/2; -x/2,-x/2,1/2]; >> det(A) ans = (15*g^2)/8 + (g*x)/3 + x^2/72
Calculamos A2, A3 y A4 para el primer modo de vibración de frecuencia angular ω=ω1. El ángulo θ1 que forma el primer péndulo con la vertical será proporcional a A1, el ángulo θ2 que forma el segundo péndulo con la vertical será proporcional a A2, el ángulo θ3 que forma el tercer péndulo con la vertical será proporcional a A3 y el ángulo θ4 que forma el cuarto péndulo con la vertical será proporcional a A4. Representamos el primer modo de vibración.
L=1; %longitud total n=4; %número de péndulos w2=sort(roots([97/1296,-215*9.8/(108*L/n),943*9.8^2/(72*(L/n)^2), -271*9.8^3/(12*(L/n)^3),105*9.8^4/(16*(L/n)^4)])); A1=0.2; %escala iModo=1; %modo de vibración den=-13*w2(iModo)^3/108+41*w2(iModo)^2*9.8/(24*L/n)-14*w2(iModo)*9.8^2 /(3*(L/n)^2)+15*9.8^3/(8*(L/n)^3); A2=(11*w2(iModo)^2/72-17*w2(iModo)*9.8/(12*L/n)+15*9.8^2/(8*(L/n)^2)) *w2(iModo)*A1/den; A3=(-w2(iModo)^2/24-w2(iModo)*9.8/(2*L/n)+15*9.8^2/(8*(L/n)^2))*w2(iModo)*A1/den; A4=(w2(iModo)^2/72+w2(iModo)*9.8/(3*L/n)+15*9.8^2/(8*(L/n)^2))*w2(iModo)*A1/den; angulos=[A1,A2, A3, A4]; hold on x1=0; y1=0; %origen plot(x1,y1,'ko','markersize',4,'markerfacecolor','k') for j=1:n x2=x1+(L/n)*sin(angulos(j)); y2=y1-(L/n)*cos(angulos(j)); line([x1,x2],[y1,y2], 'lineWidth',1.5) if j==n break; end plot(x2,y2,'ro','markersize',3,'markerfacecolor','r') x1=x2; y1=y2; end text(0.1,-0.1, sprintf('frecuencia angular, %1.3f',sqrt(w2(iModo)))) hold off axis equal xlabel('x') ylabel('y') grid on title(sprintf('Modo de vibración, %i',iModo))
Repetimos para el segundo modo de vibración de frecuencia angular ω=ω2, cambiando el valor de la variable
n péndulos
Para n= 4 péndulos, escribimos el sistema de ecuaciones diferenciales en forma matricial. A partir de este este ejemplo, escribiremos el código para calcular las frecuencias y representar los modos normales de vibración para un sistema de n péndulos
Valores propios
Se calculan las frecuencias de los modos normales de vibración resolviendo el sistema homogéneo
Los valores propios de la matriz M-1·K son los cuadrados de las frecuencias ω2 de los modos normales de vibración
Para n=4 péndulos de longitud total L=1.12 m
L=1; %longitud total n=4; %número de péndulos A=[4/3,1/2;1/2,1/3]; M=A; for j=3:n M=zeros(j); M(2:j,2:j)=A; M(1,1)=((j-1)*3+1)/3; v=(2*j-3:-2:1)/2; M(2:j,1)=v; M(1,2:j)=v; A=M; end K=diag(2*n-1:-2:1)*9.8/(2*L/n); [V,D]=eig(K/M); w2=sort(diag(D)); %vector de frecuencias propias al cuadrado, ordenados
El cuadrado de las frecuencias de los modos normales de vibración, coinciden con las calculadas en el apartado anterior
>> w2 w2 = 14.2201 82.6924 254.8446 690.8821
Tomamos la segunda, tercera ... n ecuación del sistema homogéneo de n ecuaciones, para calcular las amplitudes A2, A3 ... An en términos de la amplitud A1. En forma matricial se escribe para n=4, que es fácil generalizar para cualquier n
La primera matriz es la submatriz de M de 3×3 inferior derecha. Añadimos estas líneas de código para calcular los coeficienets A2, A3 y A4
.... A=zeros(n-1); for i=1:length(w2) C=-w2(i)*M(2:n,2:n)+(9.8/(L/n))*diag(n-1:-1:1); %incógnitas D=w2(i)*(n-1:-1:1)'; %términos independientes for j=1:n-1 num=C; num(1:end,j)=D; A(i,j)=det(num)/det(C); end end ....
>> A A = 1.2489 1.5264 1.8064 %A2, A3 y A4 para el primer modo w1 0.6109 -0.8944 -3.7196 %A2, A3 y A4 para el segundo modo w2 -0.5351 -1.9121 2.8219 %A2, A3 y A4 para el tercer modo w3 -2.0574 1.6788 -1.0188 %A2, A3 y A4 para el cuarto modo w4
El ángulo θ1 que forma el primer péndulo con la vertical será proporcional a A1, el ángulo θ2 que forma el segundo péndulo con la vertical será proporcional a A2,... el ángulo θn que forma el péndulo n con la vertical será proporcional a An . Representamos el primer modo de vibración para n=8 péndulos. El código completo es
L=1; %longitud total n=10; %número de péndulos A=[4/3,1/2;1/2,1/3]; M=A; for j=3:n M=zeros(j); M(2:j,2:j)=A; M(1,1)=((j-1)*3+1)/3; v=(2*j-3:-2:1)/2; M(2:j,1)=v; M(1,2:j)=v; A=M; end K=diag(2*n-1:-2:1)*9.8/(2*L/n); [V,D]=eig(K/M); w2=sort(diag(D)); %vector de frecuencias propias al cuadrado, ordenados A=zeros(n-1); for i=1:length(w2) C=-w2(i)*M(2:n,2:n)+(9.8/(L/n))*diag(2*n-3:-2:1)/2; %incógnitas D=(w2(i)*(2*n-3:-2:1)/2)'; %términos independientes for j=1:n-1 num=C; num(1:end,j)=D; A(i,j)=det(num)/det(C); end end A1=0.2; %escala iModo=1; %modo normal de vibración angulos=[A1,A(iModo,1:end)*A1]; hold on x1=0; y1=0; %origen plot(x1,y1,'ko','markersize',4,'markerfacecolor','k') for j=1:n x2=x1+(L/n)*sin(angulos(j)); y2=y1-(L/n)*cos(angulos(j)); line([x1,x2],[y1,y2], 'lineWidth',1.5) if j==n break; end plot(x2,y2,'ro','markersize',3,'markerfacecolor','r') x1=x2; y1=y2; end text(0.1,-0.1, sprintf('frecuencia angular, %1.3f',sqrt(w2(iModo)))) hold off axis equal xlabel('x') ylabel('y') grid on title(sprintf('Modo de vibración, %i',iModo))
Repetimos para el segundo modo de vibración de frecuencia angular ω=ω2, cambiando el valor de la variable
Las frecuencias de los modos de vibración de una cuerda que cuelga son
Donde ξn son los ceros de de la función J0(x) de Bessel
>> L=1; >> x=linspace(0,20,20); >> w2=raices(@(x) besselj(0,x),x)*sqrt(9.8/L)/2 %frecuencias w2 = 3.7641 8.6403 13.5452 18.4567 23.3706 28.2857
Para n=5,10,20, 40,... péndulos, las primeras frecuencias se van aproximado a las de los modos de vibración de una cuerda que cuelga (n=∞) de la misma longitud L
Modo | n=5 | n=10 | n=20 | n=40 | n=∞ |
---|---|---|---|---|---|
1 | 3.7686 | 3.7653 | 3.7644 | 3.7642 | 3.7641 |
2 | 8.9441 | 8.7239 | 8.6621 | 8.6458 | 8.6403 |
3 | 15.1795 | 14.0382 | 13.6845 | 13.5821 | 13.5452 |
4 | 23.3543 | 19.9190 | 18.9056 | 18.5835 | 18.4567 |
Referencias
J. P. McCreesh, T. L. Goodfellow, A. H. Seville. Vibrations of a hanging chain of discrete links. Am. J. Phys. (43) 7, July 1975, pp. 646-648