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

Las coordenadas de la primera partícula son x1=l1sinθ1, y1=l1cosθ1. Derivando con respecto del tiempo obtenemos la velocidad.
La energía cinética, T1 y potencial, V1 son, respectivamente
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=g/l1. Los coeficientes A y B se determinan a partir de las condiciones iniciales (posición y velocidad)
Dos péndulos acoplados

Las coordenadas de la segunda partícula son x2=x1+l2sinθ2, y2=y1+l2cosθ2. Derivando con respecto del tiempo obtenemos la velocidad.
La energía cinética, T2 y potencial, V2 son, respectivamente
Para ángulos θ1 y θ2 pequeños, hacemos la aproximación cos(θ1-θ2)≈1
La lagrangiana L2=L1+T2-V2 es
Las ecuaciones del movimiento
Que son las ecuaciones del movimiento del péndulo doble cuando nos restringimos a pequeños valores de los ángulos θ1 y θ2
Cuando m1=m2=m, y l1=l2=l. Las ecuaciones del movimiento son
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
Frecuencias que ya hemos obtenido al estudiar el péndulo doble (amplitudes pequeñas)
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.12; %longitud total n=2; %número de péndulos w2=[2-sqrt(2), 2+sqrt(2)]*9.8/(L/n); %cuadrado frecuencias A1=0.2; %escala iModo=1; %modo de vibración A2=w2(iModo)*A1/(9.8/(L/n)-w2(iModo)); 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]) 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 de la tercera partícula son x3=x2+l3sinθ3, y3=y2+l3cosθ3. Derivando con respecto del tiempo obtenemos la velocidad.
La energía cinética, T3 y potencial, V3 son, respectivamente
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 lagrangiana L3=L2+T3-V3 es
Las ecuaciones del movimiento
Cuando m1=m2=m3=m, y l1=l2=l3=l. Las ecuaciones del movimiento son
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 = [3*(g - x),-2*x,-x; -2*x,2*(g - x),-x;-x,-x, g - x]; >> det(A) ans = 6*g^3 - 18*g^2*x + 9*g*x^2 - x^3
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.12; %longitud total >> roots([1, -9*9.8/(L/n),18*9.8^2/(L/n)^2,-6*9.8^3/(L/n)^3]) ans = 165.1111 60.2249 10.9141
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
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.12; %longitud total n=3; %número de péndulos %cuadrado frecuencias ordenadas w2=sort(roots([1, -9*9.8/(L/n),18*9.8^2/(L/n)^2,-6*9.8^3/(L/n)^3])); iModo=1; %modo de vibración A1=0.2; %escala den=(w2(iModo)^2+2*9.8^2/(L/n)^2-4*w2(iModo)*9.8/(L/n)); %denominador A2=(2*9.8/(L/n)-w2(iModo))*A1*w2(iModo)/den; A3=2*9.8/(L/n)*A1*w2(iModo)/den; angulos=[A1,A2,A3]; hold on x1=0; y1=0; 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]) 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 de la cuarta partícula son x4=x3+l4sinθ4, y4=y3+l4cosθ4. Derivando con respecto del tiempo obtenemos la velocidad.
La energía cinética, T4 y potencial, V4 son, respectivamente
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 lagrangiana L4=L3+T4-V4 es
Las ecuaciones del movimiento
Cuando m1=m2=m3=m4=m, y l1=l2=l3=l4=l. Las ecuaciones del movimiento son
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=[4*(g-x),-3*x,-2*x,-x;-3*x,3*(g-x),-2*x,-x; -2*x,-2*x,2*(g-x),-x;-x,-x,-x,g-x]; >> det(A) ans = 24*g^4 - 96*g^3*x + 72*g^2*x^2 - 16*g*x^3 + x^4
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.12; %longitud total >> roots([1, -16*9.8/(L/n),72*9.8^2/(L/n)^2,-96*9.8^3/(L/n)^3, 24*9.8^4/(L/n)^4]) ans = 328.8275 158.7817 61.1016 11.2892
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; >> A = [3*(g - x),-2*x,-x;-2*x,2*(g - x), -x;-x,-x,g - x]; %denominador >> det(A) ans = 6*g^3 - 18*g^2*x + 9*g*x^2 - x^3 >> A = [3,2,1;-2*x,2*(g - x), -x;-x,-x,g - x]; %numerador A2 >> det(A) ans = 6*g^2 - 6*g*x + x^2 >> A = [3*(g - x),-2*x,-x;3,2,1;-x,-x,g - x]; %numerador A3 >> det(A) ans = 6*g^2 - 3*x*g >> A = [3*(g - x),-2*x,-x;-2*x,2*(g - x), -x;3,2,1]; %numerador A4 >> det(A) ans = 6*g^2
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.12; %longitud total n=4; %número de péndulos %cuadrado frecuencias ordenadas w2=sort(roots([1, -16*9.8/(L/n),72*9.8^2/(L/n)^2,-96*9.8^3/(L/n)^3, 24*9.8^4/(L/n)^4])); iModo=2; %modo de vibración A1=0.2; %escala den=-w2(iModo)^3+9*9.8/(L/n)*w2(iModo)^2-18*9.8^2/(L/n)^2*w2(iModo)+6*9.8^3/(L/n)^3; A2=(w2(iModo)^2-6*9.8/(L/n)*w2(iModo)+6*9.8^2/(L/n)^2)*w2(iModo)*A1/den; A3=(-3*9.8*w2(iModo)/(L/n)+6*9.8^2/(L/n)^2)*w2(iModo)*A1/den; A4=6*9.8^2/(L/n)^2*w2(iModo)*A1/den; angulos=[A1,A2,A3, A4]; hold on x1=0; y1=0; 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]) 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
Para el caso particular, m1=m2=m3=m4=m, l1=l2=l3=l4=l
Ahora, es fácil generalizar para n péndulos acoplados
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.12; %longitud total n=4; %número de péndulos M=zeros(n,n); for i=1:n for j=1:i-1 M(i,j)=n-i+1; end for j=i:n M(i,j)=n+1-j; end end K=diag(n:-1:1)*9.8/(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 ans = 11.2892 61.1016 158.7817 328.8275
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.2258 1.4798 1.7643 %A2, A3 y A4 para el primer modo w1 0.7514 -0.4017 -3.1597 %A2, A3 y A4 para el segundo modo w2 -0.1789 -2.1309 1.6801 %A2, A3 y A4 para el tercer modo w3 -1.7984 1.0528 -0.2847 %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.12; %longitud total n=4; %número de péndulos M=zeros(n,n); for i=1:n for j=1:i-1 M(i,j)=n-i+1; end for j=i:n M(i,j)=n+1-j; end end K=diag(n:-1:1)*9.8/(L/n); [V,D]=eig(K/M); w2=sort(diag(D)); %vector de frecuencias propias al cuadrado, ordenados %cálculo de los coeficientes A2, A3, 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 hold on plot(0,0,'ko','markersize',4,'markerfacecolor','k') A1=0.2; %escala iModo=2; %modo normal de vibración angulos=[A1,A(iModo,1:end)*A1]; x1=0; y1=0; for j=1:n x2=x1+(L/n)*sin(angulos(j)); y2=y1-(L/n)*cos(angulos(j)); line([x1,x2],[y1,y2]) 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
Péndulo simple, n péndulos y péndulo compuesto de la misma longitud
Creamos un script para representar
El periodo de un péndulo simple en función de la longitud L (en color rojo)
El periodo de un péndulo compuesto, una varilla de masa m y longitud L cuyo punto de suspensión se encuentra en un extremo (en color azul)
Si L es la longitud total de los n péndulos acoplados, si la frecuencia del modo fundamental ωn1. El periodo que nos interesa es
Se representan los periodos de los sistemas formados por 2, 4, 8, 16 y 32 péndulos acoplados en función de la longitud total L de los péndulos. Estos periodos están comprendidos entre los de un pendulo simple (rojo) y de un péndulo compuesto (azul) tal como se aprecia en la figura
LL=0.1:0.1:10; P=zeros(1, length(LL)); hold on for n=[2,4,8,16,32] M=zeros(n,n); for i=1:n for j=1:i-1 M(i,j)=n-i+1; end for j=i:n M(i,j)=n+1-j; end end m=1; for L=LL K=diag(n:-1:1)*9.8/(L/n); [V,D]=eig(K/M); w2=min(diag(D)); P(m)=2*pi/sqrt(w2); m=m+1; end plot(LL,P) end fplot(@(x) 2*pi./sqrt(9.8./x),[0.1,10],'color','r') fplot(@(x) 2*pi*sqrt(2/3)./sqrt(9.8./x),[0.1,10],'color','b') hold off grid on xlabel('L') ylabel('P') title('Periodos')
La longitud total de los péndulos acoplados no cambia
Sea L=1.12 m la longitud total de los péndulos acoplados. Representamos el periodo Pn en función del número n de péndulos
L=1.12; %longitud total P=zeros(1,30); P(1)=2*pi/sqrt(9.8/L); for n=2:30 %número de péndulos M=zeros(n,n); for i=1:n for j=1:i-1 M(i,j)=n-i+1; end for j=i:n M(i,j)=n+1-j; end end K=diag(n:-1:1)*9.8/(L/n); [V,D]=eig(K/M); w2=min(diag(D)); P(n)=2*pi/sqrt(w2); end plot(1:30,P,'-o','markersize',3,'markeredgecolor','r','markerfacecolor','r') grid on xlabel('n') ylabel('P') title('Periodos')
La densidad n/L de los péndulos acoplados no cambia
Para que la densidad no cambie, la longitud total L de los péndulos acoplados será proporcional al número n de péndulos. Sea n/L=10
P=zeros(1,30); rho=10; %densidad n/L P(1)=2*pi/sqrt(9.8*rho); for n=2:30 %número de péndulos M=zeros(n,n); for i=1:n for j=1:i-1 M(i,j)=n-i+1; end for j=i:n M(i,j)=n+1-j; end end K=diag(n:-1:1)*9.8*rho; [V,D]=eig(K/M); w2=min(diag(D)); P(n)=2*pi/sqrt(w2); end plot(1:30,P,'-o','markersize',3,'markeredgecolor','r','markerfacecolor','r') grid on xlabel('n') ylabel('P') title('Periodos')
Referencias
J. C. Zamora, F. Fajardo, J. Alexis Rodríguez. Oscillator experiments with periods between the simple pendulum and the rigid rod. Am. J. Phys. 77 (2) February 2009, pp. 169-172