Modos normales de vibración de sistemas lineales homogéneos

Los sistemas que analizamos en esta página, están compuestos por masas puntuales unidas a muelles elásticos de masa despreciable. Cada elemento está situado entre dos puntos. El estado de cada punto está definido por un vector columna que especifica su desplazamiento y por la fuerza interna que actúa. Una matriz cuadrada de 2×2 relaciona dos puntos consecutivos del sistema.

Muelle elástico

Un muelle elástico de constante k une los puntos 1 y 2. Las fuerzas en ambos puntos son iguales F1=F2. La deformación del muelle, es x2-x1

F 1 =k( x 2 x 1 ) x 2 = x 1 + F 1 k

Relacionamos x2 y F2 con x1 y F1 mediante una matriz 2×2

( x 2 F 2 )=( 1 1/k 0 1 )( x 1 F 1 )

Denominaremos a esta matriz Ts

El vector columna de la izquierda es el estado del punto 2 y el de la derecha, el estado del punto 1. La matriz 2×2 relaciona los estados de dos puntos unidos por un elemento, en este caso el muelle

Partícula

Una partícula tiene la misma posición x2=x3. La fuerza neta que actúa sobre la partícula F3-F2 es igual al producto de su masa m por la aceleración

F 3 F 2 =m d 2 x 2 d t 2

Si la partícula describe un Movimiento Armónico Simple de frecuencia angular ω, la aceleración es proporcional al desplazamiento y de sentido contrario a éste, -ω2x2.

F 3 F 2 =m ω 2 x 2

Relacionamos el estado del punto 3, el vector columna (x3; F3) con el estado del punto 2, el vector columna (x2; F2) mediante una matriz 2×2

( x 3 F 3 )=( 1 0 m ω 2 1 )( x 2 F 2 )

Denominaremos a esta matriz Tp

Una vez que hemos definido el concepto de estado y las matrices que relacionan el estado de dos puntos consecutivos que se unen mediante un muelle o una partícula, vamos a ver como se aplican a los sistemas que se estudian en la sección de osciladores acoplados del capítulo Oscilaciones

Partícula unida a un muelle elástico

El sistema más sencillo está formado por una partícula de masa m unida a un muelle elástico de constante k

Relacionamos los estados de los puntos 1, 2 y 3 de la siguiente manera:

Relacionamos el estado del punto 3 con el estado del punto 1

( x 3 F 3 )=( 1 0 m ω 2 1 )( x 2 F 2 )=( 1 0 m ω 2 1 )( 1 1/k 0 1 )( x 1 F 1 ) ( x 3 F 3 )=( 1 1/k m ω 2 1 m ω 2 /k )( x 1 F 1 )

El producto de las matrices Tp·Ts da lugar a una matriz cuyo determinante es la unidad

Condiciones de contorno

Las condiciones de contorno son:

( x 3 0 )=( 1 1/k m ω 2 1 m ω 2 k )( 0 F 1 )

Lo que implica que

x 3 = F 1 k 0=( 1 m ω 2 k ) F 1

x3 es la deformación del muelle. El término entre paréntesis deberá ser cero, es decir, el resultado esperado, la frecuencia angular ω del MAS que describe una partícula de masa m unida a un muelle de constante k

ω= k m

Dos osciladores

Consideremos el sistema de la figura: el primer oscilador está formado por un muelle de constante k1, unido a una partícula de masa m1, el otro extremo del muelle (punto 1) está fijo. El segundo oscilador está formado por un muelle de constante k2, unido a una partícula de masa m2, el otro extremo del muelle (punto 3) está unido a la partícula de masa m1

Relacionamos los estados de los puntos 2-1 (muelle de constante k1), 3-2(partícula de masa m1), 4-3 (muelle de constante k2), 5-4 (partícula de masa m2). Finalmente, relacionamos los estados de los puntos extremos 5-1

( x 2 F 2 )=( 1 1/ k 1 0 1 )( x 1 F 1 ) ( x 3 F 3 )=( 1 0 m 1 ω 2 1 )( x 2 F 2 )=( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( x 1 F 1 ) ( x 4 F 4 )=( 1 1/ k 2 0 1 )( x 3 F 3 )=( 1 1/ k 2 0 1 )( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( x 1 F 1 ) ( x 5 F 5 )=( 1 0 m 2 ω 2 1 )( x 4 F 4 )=( 1 0 m 2 ω 2 1 )( 1 1/ k 2 0 1 )( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( x 1 F 1 ) ( x 5 F 5 )=( T 11 T 12 T 21 T 22 )( x 1 F 1 )

Condiciones de contorno

Las condiciones de contorno son:

( x 5 0 )=( T 11 T 12 T 21 T 22 )( 0 F 1 )

Lo que implica que el elemento de la matriz T22=0

En la página titulada Dos osciladores acoplados verticales calculamos las frecuencias de los modos normales de vibración del sistema formado por dos partículas de masas m1=2m y m2=m unidas a muelles elásticos de constante k1=k2=k

Frecuencias de los modos normales de oscilación

Utilizamos Math Symbolic de Matlab para realizar la multiplicación de matrices

syms k m w;
Ts_1=[1,1/k;0,1];
Tp_1=[1,0;-2*m*w^2,1];
Ts_2=[1,1/k;0,1];
Tp_2=[1,0;-m*w^2,1];

T=Tp_2*Ts_2*Tp_1*Ts_1;

Comprobamos que el determinante de la matriz T es la unidad

>> det(T)
ans =1

Utilizamos la función solve de MATLAB para calcular las raíces positivas de la ecuación T22=0.

>> solve(T(2,2))
 ans =
 -(-(k*(2^(1/2) - 2))/(2*m))^(1/2)
  -((k*(2^(1/2) + 2))/(2*m))^(1/2)
  (-(k*(2^(1/2) - 2))/(2*m))^(1/2)
   ((k*(2^(1/2) + 2))/(2*m))^(1/2)

ω 1 = k m ( 1 2 2 ) ω 2 = k m ( 1+ 2 2 )

Amplitudes del MAS que describe de cada una de las partículas

Calculamos x3 y x5 cuando el sistema oscila en el primer modo normal de frecuencia ω1, sabiendo que x1=0

En el apatado anterior, hemos deducido la relación entre el estado del punto 3 y el estado del punto 1 y la relación entre el estado del punto 5 y del punto 1. Teniendo en cuenta las condiciones de contorno x1=0, y asignando un valor arbitrario a F1=1. Las expresiones de x3 y x5 son, respectivamente

x 3 =( 1 0 )( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( 0 1 ) x 5 =( 1 0 )( 1 0 m 2 ω 2 1 )( 1 1/ k 2 0 1 )( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( 0 1 )

Utilizamos MATLAB para calcular x3 y x5 para el primer modo normal de vibración, para el ejemplo de sistema descrito en este apartado, asignado los valores a la constante k=1 y a la masa m=1. Añadimos el siguiente código al script anterior

...
w1=subs((-(k*(-2^(1/2) - 2))/(2*m))^(1/2),{k,m},{1,1});
Vs_1=subs(Ts_1,k,1);
Vp_1=subs(Tp_1,{m,w},{1,w1});
Vs_2=subs(Ts_2,k,1);
Vp_2=subs(Tp_2,{m,w},{1,w1});

x5=[1,0]*(Vp_2*Vs_2*Vp_1*Vs_1)*[0;1];
x3=[1,0]*(Vp_1*Vs_1)*[0;1];
disp([double(x3), double(x5)])
    1.0000   1.4142

Como podemos ver en las figuras al final de la página Dos osciladores acoplados verticales, para la frecuencia ω1=0.5412, las partículas oscilan en fase, y sus amplitudes están en la relación, x5 es 2 =1.4142... , veces la amplitud x3

...
w2=subs(((k*(2^(1/2) + 2))/(2*m))^(1/2),{k,m},{1,1});
Vs_1=subs(Ts_1,k,1);
Vp_1=subs(Tp_1,{m,w},{1,w2});
Vs_2=subs(Ts_2,k,1);
Vp_2=subs(Tp_2,{m,w},{1,w2});

x5=[1,0]*(Vp_2*Vs_2*Vp_1*Vs_1)*[0;1];
x3=[1,0]*(Vp_1*Vs_1)*[0;1];
disp([double(x3), double(x5)])
    1.0000   -1.4142

Para el segundo modo de frecuencia ω2=1.3066, los osciladores están en oposición de fase, la relación de amplitudes es la misma que para la frecuencia anterior

Dos osciladores acoplados

Consideremos el sistema de dos osciladores: el primero está formado por un muelle de constante k1, unido a una partícula de masa m1, el otro extremo del muelle (punto 1) está fijo. El segundo oscilador está formado por un muelle de constante k3, unido a una partícula de masa m2, el otro extremo del muelle (punto 6) está fijo. Las dos partículas están unidas por un muelle de constante k2

Relacionamos los estados de los puntos 2-1 (muelle de constante k1), 3-2(partícula de masa m1), 4-3 (muelle de constante k2), 5-4 (partícula de masa m2), 6-5 (muelle de constante k3). Finalmente, relacionamos los estados de los puntos extremos 6-1

( x 2 F 2 )=( 1 1/ k 1 0 1 )( x 1 F 1 ) ( x 3 F 3 )=( 1 0 m 1 ω 2 1 )( x 2 F 2 )=( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( x 1 F 1 ) ( x 4 F 4 )=( 1 1/ k 2 0 1 )( x 3 F 3 )=( 1 1/ k 2 0 1 )( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( x 1 F 1 ) ( x 5 F 5 )=( 1 0 m 2 ω 2 1 )( x 4 F 4 )=( 1 0 m 2 ω 2 1 )( 1 1/ k 2 0 1 )( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( x 1 F 1 ) ( x 6 F 6 )=( 1 1/ k 3 0 1 )( x 5 F 5 )=( 1 1/ k 3 0 1 )( 1 0 m 2 ω 2 1 )( 1 1/ k 2 0 1 )( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( x 1 F 1 ) ( x 6 F 6 )=( T 11 T 12 T 21 T 22 )( x 1 F 1 )

Condiciones de contorno

Las condiciones de contorno son:

( 0 F 6 )=( T 11 T 12 T 21 T 22 )( 0 F 1 ) T 12 F 1 =0 F 6 = T 22 F 1 } T 12 =0

Lo que implica que el elemento de la matriz T12=0

En la página titulada Dos osciladores acoplados calculamos las frecuencias de los modos normales de vibración del sistema formado por dos partículas de masas m1=m2=m unidas a muelles elásticos de constante k1=k3=k, la constante del muelle que une las partículas es k2=K

Frecuencias de los modos normales de oscilación

Utilizamos Math Symbolic de Matlab para realizar la multiplicación de matrices

syms k m w K;
Ts_1=[1,1/k;0,1];
Tp_1=[1,0;-m*w^2,1];
Ts_2=[1,1/K;0,1];
Tp_2=[1,0;-m*w^2,1];
Ts_3=[1,1/k;0,1];

T=Ts_3*Tp_2*Ts_2*Tp_1*Ts_1;

Comprobamos que el determinante de la matriz T es la unidad

>> det(T)
ans =1

Utilizamos la función solve para calcular las raíces positivas de la ecuación T12=0.

>> solve(T(1,2))
ans =
  (m*(2*K + k))^(1/2)/m
 -(m*(2*K + k))^(1/2)/m
  (k^2*(m/k^3)^(1/2))/m
 -(k^2*(m/k^3)^(1/2))/m

ω 1 = k m ω 2 = k+2K m

Amplitudes del MAS que describe de cada una de las partículas

Calculamos x3 y x5 cuando el sistema oscila en el primer modo normal de frecuencia ω1, sabiendo que x1=0

En el apatado anterior, hemos deducido la relación entre el estado del punto 3 y el estado del punto 1 y la relación entre el estado del punto 5 y del punto 1. Teniendo en cuenta las condiciones de contorno x1=0, y asignando un valor arbitrario a F1=1. Las expresiones de x3 y x5 son, respectivamente

x 3 =( 1 0 )( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( 0 1 ) x 5 =( 1 0 )( 1 0 m 2 ω 2 1 )( 1 1/ k 2 0 1 )( 1 0 m 1 ω 2 1 )( 1 1/ k 1 0 1 )( 0 1 )

Utilizamos MATLAB para calcular x3 y x5 para el primer modo normal de vibración, para el ejemplo de sistema descrito en este apartado, asignado los valores a la constante k=10 y a la constante K=0.5 a las masas de las partículas m=1. Añadimos el siguiente código al script anterior

...
w1=subs(sqrt(k/m),{k,m},{10,1});
Vs_1=subs(Ts_1,k,10);
Vp_1=subs(Tp_1,{m,w},{1,w1});
Vs_2=subs(Ts_2,K,0.5);
Vp_2=subs(Tp_2,{m,w},{1,w1});

x5=[1,0]*(Vp_2*Vs_2*Vp_1*Vs_1)*[0;1];
x3=[1,0]*(Vp_1*Vs_1)*[0;1];
disp([double(x3), double(x5)])
   0.1000    0.1000

Como podemos ver en el programa interactivo o utilizando el código MATLAB al final de la página Dos osciladores acoplados, para la frecuencia ω1=3.1623, las partículas oscilan en fase y sus amplitudes x3=x5 son las mismas

...
w1=subs(sqrt((k+2*K)/m),{k,K,m},{10,0.5,1});
Vs_1=subs(Ts_1,k,10);
Vp_1=subs(Tp_1,{m,w},{1,w1});
Vs_2=subs(Ts_2,K,0.5);
Vp_2=subs(Tp_2,{m,w},{1,w1});

x5=[1,0]*(Vp_2*Vs_2*Vp_1*Vs_1)*[0;1];
x3=[1,0]*(Vp_1*Vs_1)*[0;1];
disp([double(x3), double(x5)])
    0.1000   -0.1000

Para el segundo modo de frecuencia ω2=3.3166, los osciladores están en oposición de fase, las amplitudes son las mismas

Sistema de N partículas unidas a N+1 muelles elásticos

Consideremos un sistema formado por N partículas de masa m unidas a N+1 muelles elásticos de constante k. En la figura mostramos 10 partículas unidas a 11 muelles elásticos. Señalamos los 2N+2=22 puntos cuyo estado tenemos que determinar

( x 2 F 2 )=( 1 1/k 0 1 )( x 1 F 1 )= T s ( x 1 F 1 ) ( x 3 F 3 )=( 1 0 m ω 2 1 )( x 2 F 2 )=( 1 0 m ω 2 1 )( 1 1/k 0 1 )( x 1 F 1 )=( T p T s )( x 1 F 1 ) ( x 4 F 4 )=( 1 1/k 0 1 )( x 3 F 3 )=( 1 1/k 0 1 )( 1 0 m ω 2 1 )( 1 1/k 0 1 )( x 1 F 1 )= T s ( T p T s )( x 1 F 1 ) ( x 5 F 5 )=( 1 0 m ω 2 1 )( x 4 F 4 )=( 1 0 m ω 2 1 )( 1 1/k 0 1 )( 1 0 m ω 2 1 )( 1 1/k 0 1 )( x 1 F 1 )= ( T p T s ) 2 ( x 1 F 1 ) ... ( x 2N+1 F 2N+1 )=( 1 0 m ω 2 1 )( x 2N F 2N )= ( T p T s ) N ( x 1 F 1 ) ( x 2N+2 F 2N+2 )=( 1 1/k 0 1 )( x 2N+1 F 2N+1 )= T s ( T p T s ) N ( x 1 F 1 ) ( x 2N+2 F 2N+2 )=( T 11 T 12 T 21 T 22 )( x 1 F 1 )

Condiciones de contorno

Las condiciones de contorno son:

( 0 F 2N+2 )=( T 11 T 12 T 21 T 22 )( 0 F 1 )

Lo que implica que el elemento de la matriz T12=0

En la página titulada Modos normales de vibración (I) calculamos las frecuencias de los modos normales de vibración del sistema formado por N=2, 3 y 4, partículas de masas m unidas a muelles elásticos de constante k. Probamos con N=4

Frecuencias de los modos normales de oscilación

Utilizamos Math Symbolic de Matlab para realizar la multiplicación de matrices

syms k m w;
N=4; %número de partículas
Ts=[1,1/k;0,1];
Tp=[1,0;-m*w^2,1];
T=Ts*(Tp*Ts)^N;

Comprobamos que el determinante de la matriz T es la unidad

>> det(T)
ans =1

Utilizamos la función solve para calcular las raíces positivas de la ecuación T12=0.

>> solve(T(1,2))
ans =
 -(-(k*(5^(1/2) - 3))/(2*m))^(1/2)
  -((k*(5^(1/2) + 3))/(2*m))^(1/2)
 -(-(k*(5^(1/2) - 5))/(2*m))^(1/2)
  -((k*(5^(1/2) + 5))/(2*m))^(1/2)
  (-(k*(5^(1/2) - 3))/(2*m))^(1/2)
   ((k*(5^(1/2) + 3))/(2*m))^(1/2)
  (-(k*(5^(1/2) - 5))/(2*m))^(1/2)
   ((k*(5^(1/2) + 5))/(2*m))^(1/2)

ω 1 = k m 3 5 2 ω 2 = k m 5 5 2 ω 3 = k m 3+ 5 2 ω 4 = k m 5+ 5 2

Amplitudes del MAS que describe de cada una de las partículas

q 1 =( 1 0 )( T p T s )( 0 1 ) q 2 =( 1 0 ) ( T p T s ) 2 ( 0 1 ) q 3 =( 1 0 ) ( T p T s ) 3 ( 0 1 ) q 4 =( 1 0 ) ( T p T s ) 4 ( 0 1 )

Una vez que se han calculado las amplitudes qj con j=1,2,...N, de cada una de las partículas se normalizan de acuerdo a la siguiente fórmula

j=1 N m j q j 2 =1

donde mj es la masa de cada partícula

Completamos el script anterior para calcular y representar las amplitudes de la oscilación de cada una de las partículas para la frecuencia del modo seleccionado

....
masa=1; %masa
cte=1; %constante del muelle
w1=sqrt((3-sqrt(5))/2); %frecuencia del primer modo normal
Vs=subs(Ts,k,cte);
Vp=subs(Tp,{m,w},{masa,w1});
q=zeros(N,1);
suma=0;
for j=1:N
    q(j)=[1,0]*(Vp*Vs)^j*[0;1];
    suma=suma+masa*q(j)^2;
end
for j=1:N
    q(j)=q(j)/sqrt(suma); %amplitudes
end
stem(q)
xlim([0,N+1])
xlabel('j')
ylabel('q_j')
title('Amplitudes de la oscilación')

Calculamos las amplitudes qj(ωr) con j=1,2,...N para la frecuencia ωr de un modo normal de vibración y las amplitudes qj(ωs) para la frecuencia ωs de otro modo normal de vibración r≠s. Comprobamos que se cumple que

j=1 N m j q j ( ω r ) · q j ( ω s )=0

Hemos calculado las amplitudes qj para la frecuencia del modo fundamental ω1. Duplicamos el código para calcular las amplitudes yj para el tercer modo de vibración ω3

syms k m w;
N=4; %número de partículas
Ts=[1,1/k;0,1];
Tp=[1,0;-m*w^2,1];
T=Ts*(Tp*Ts)^N;

masa=1; %masa
cte=1; %constante del muelle
w1=sqrt((3-sqrt(5))/2); %frecuencia del primer modo 
Vs=subs(Ts,k,cte);
Vp=subs(Tp,{m,w},{masa,w1});
q=zeros(N,1);
suma=0;
for j=1:N
    q(j)=[1,0]*(Vp*Vs)^j*[0;1];
    suma=suma+masa*q(j)^2;
end
for j=1:N
    q(j)=q(j)/sqrt(suma);
end

w3=sqrt((3+sqrt(5))/2); %frecuencia del tercer modo 
Vs=subs(Ts,k,cte);
Vp=subs(Tp,{m,w},{masa,w3});
y=zeros(N,1);
suma=0;
for j=1:N
    y(j)=[1,0]*(Vp*Vs)^j*[0;1];
    suma=suma+masa*y(j)^2;
end
for j=1:N
    y(j)=y(j)/sqrt(suma);
end

suma=0;
for j=1:N
    suma=suma+masa*q(j)*y(j);
end
disp(suma)
   1.1102e-16

Sistema homogéneo

En esta página, hemos estudiado un sistema formado por partículas unidas a muelles elásticos. Calculamos mediante el procedimiento descrito en esta página:

El sistema más importante consta de N partículas de la misma masa m unidas a N+1 muelles de la misma constante k

La matriz T que relaciona los estados de los puntos extremos 1 y 2N+2 es

T= T s ( T p T s ) N T s =( 1 1/k 0 1 ) T p =( 1 0 m ω 2 1 )

Se utiliza la función solve de MATLAB para calcular las raíces reales y positivas de la ecuación T12=0.

Para la frecuencia ω del modo normal de vibración seleccionado, se calculan las amplitudes qj del MAS que describe cada una de las partículas del sistema. Se normalizan y se representan gráficamente

q j =( 1 0 ) ( T p T s ) j ( 0 1 )

En el siguiente script representamos las amplitudes qj de los dos primeros modos de vibración y de los dos últimos modos para un sistema de N=20 partículas, de masa m=4 unidas a muelles de constante k=1. En el título de cada uno de los gráficos aparece la frecuencia

syms k m w;
N=20; %número de partículas
masa=4; %masa
cte=1; %constante del muelle
Ts=[1,1/k;0,1];
Tp=[1,0;-m*w^2,1];
T=Ts*(Tp*Ts)^N;
V=subs(T,{k,m},{cte,masa});
W=double(solve(V(1,2))); %complejas
Wr=zeros(N,1); %reales
j=1;
for i=1:length(W)
    if real(W(i))>0
        Wr(j)=real(W(i));
        j=j+1;
    end
end
Wr=sort(Wr); %frecuencias
disp(Wr)

%amplitudes
q=zeros(N,1);
ventana=1;
Vs=subs(Ts,k,cte);
for s=[1,2,19,20] % modos seleccionados
    w1=Wr(s); %frecuencia del primer modo de vibración
    Vp=subs(Tp,{m,w},{masa,w1});
    suma=0;
    for j=1:N
        q(j)=[1,0]*(Vp*Vs)^j*[0;1];
        suma=suma+masa*q(j)^2;
    end
    for j=1:N
        q(j)=q(j)/sqrt(suma);
    end
    subplot(2,2,ventana)
    stem(q);
    xlim([0,N+1])
    xlabel('j')
    ylabel('q_j')
    title(num2str(w1))
    ventana=ventana+1;
end

Frecuencias de los N=20 modos normales de vibración ordenadas de menor a mayor

    0.0747
    0.1490
    0.2225
    0.2948
    0.3653
    0.4339
    0.5000
    0.5633
    0.6235
    0.6802
    0.7331
    0.7818
    0.8262
    0.8660
    0.9010
    0.9309
    0.9556
    0.9749
    0.9888
    0.9972