Programa para el modo de vibrar de un modelo de 3 grados de libertad
Autor: Ing. David Gutiérrez Calzada
email: ingutierrez@fi.uaemex.mx
> restart;with(plots):with(linalg):
> `Programa para obtener los modos de vibración de un modelo de 3 g.l.`:
W3
K3
W2
k2
W1
k1
`Nota: Se considera que NO existe torsion. Los grados de libertad son horizontales.`:
`Ing. David GutiérrezCalzada`:`ingutierrez@fi.uaemex.mx`:
Masas
Las unidades que se manejan en este ejemplo son:
Masas [ton-seg^2/cm]
Rigideces [ton/cm]
g=981cm/seg^2
> m[1]:=14400/981.;m[2]:=15500/981.;m[3]:=14300/981.;
> k[1]:=800;k[2]:=600;k[3]:=550;
> M:=Matrix([[m[1],0,0],[0,m[2],0],[0,0,m[3]]]);
m1 := 14.67889908
m2 := 15.80020387
m3 := 14.57696228
k1 := 800
k2 := 600
k3 := 550
⎡14.67889908
⎢
M:= ⎢
0
⎢
⎣
0
0
15.80020387
0
0
⎤
⎥
⎥
0
⎥
14.57696228⎦
Rigideces
> K:=Matrix([[k[1]+k[2],-k[2]],[-k[2],k[2]+k[3],-k[3]],[0,-k[3],k[3]]]);
⎡1400
⎢
K := ⎢ -600
⎢
0
⎣
K−ω M
2
> R:=evalm(K-phi*M);
-600
1150
-550
0⎤
⎥
-550⎥
⎥
550⎦
⎡1400 − 14.67889908 φ
-600
⎢
R := ⎢
-600
1150 − 15.80020387 φ
⎢
⎣
0
-550
0
⎤
⎥
⎥
-550
⎥
550 − 14.57696228φ⎦
Det ( K − ω M )
2
> Deter:=det(R);
Deter := 264000000 − 0.3523139653 108 φ + 696077.6670 φ − 3380.829002 φ
2
3
2
Raíces del determinante (ω )
> Raiz:=evalf(solve(Deter,phi));
Raiz := 9.035532976, 66.09081269, 130.7632946
Frecuencias
Las frecuencias al cuadrado son:
>
>
>
>
omega[1]^2=evalf(Raiz[1]).seg^(-2);
omega[2]^2=evalf(Raiz[2]).seg^(-2);omega[3]^2=evalf(Raiz[3]).seg^(-2);
omega[1]=evalf(sqrt(Raiz[1])).seg^(-1),omega[2]=evalf(sqrt(Raiz[2])).seg^(-1),omega
[3]=evalf(sqrt(Raiz[3])).seg^(-1);
2
ω1 =
2
ω2 =
9.035532976
seg2
66.09081269
seg2
ω3 =
130.7632946
, ω2 =
8.129625618
2
ω1 =
3.005916329
seg
seg2
seg
, ω3 =
11.43517794
seg
Periodos
Los periodos son:
> T[1]=evalf(2*Pi/sqrt(Raiz[1]),5).seg;T[1]:=evalf(2*Pi/sqrt(Raiz[1]),5):
> T[2]=evalf(2*Pi/sqrt(Raiz[2]),5). seg;T[2]:=evalf(2*Pi/sqrt(Raiz[2]),5):
> T[3]=evalf(2*Pi/sqrt(Raiz[3]),5). seg;T[3]:=evalf(2*Pi/sqrt(Raiz[3]),5):
T1 = 2.0903 seg
T2 = 0.77290 seg
T3 = 0.54947 seg
Primer modo
> i:=1:
> omega[i]:=evalf(sqrt(Raiz[i]));
ω1 := 3.005916329
> Mo:=evalf(K-omega[i]^2*M);
⎡1267.36832300000
-600.
0.
⎤
⎢
⎥
⎥
Mo := ⎢-600.
1007.23673700000
-550.
⎢
⎥
⎣
0.
-550.
418.289376600000⎦
> Mat_phi:=Matrix(3,1,[[Phi[1,i]],[Phi[2,i]],[Phi[3,i]]]);
⎡Φ1, 1⎤
⎢
⎥
Mat_phi := ⎢Φ2, 1⎥
⎢
⎥
⎢
⎥
Φ3, 1⎦
⎣
> Mo1:=multiply(Mo,Mat_phi);
⎡
⎤
1267.36832300000 Φ1, 1 − 600. Φ2, 1
⎢
⎥
Mo1 := ⎢−600. Φ1, 1 + 1007.23673700000 Φ2, 1 − 550. Φ3, 1⎥
⎢
⎥
⎢
⎥
−550. Φ2, 1 + 418.289376600000 Φ3, 1
⎣
⎦
> Phi[1,i]:=1;Φ1, 1 := 1
> Phi[2,i]:=solve(Mo1[1,i],Phi[2,i]);
Φ2, 1 := 2.112280538
> Phi[3,i]:=solve(Mo1[2,i],Phi[3,i]);
Φ3, 1 := 2.777393739
> Mat_phi1:=Matrix(3,1,[[Phi[1,i]],[Phi[2,i]],[Phi[3,i]]]);
⎡
1
⎤
⎢
⎥
Mat_phi1 := ⎢2.112280538⎥
⎢
⎥
⎣2.777393739⎦
Segundo modo
> i:=2:
> omega[i]:=evalf(sqrt(Raiz[i]));
ω2 := 8.129625618
> Mo:=evalf(K-omega[i]^2*M);
⎡429.859630400000
-600.
0.
⎤⎢
⎥
⎥
Mo := ⎢
-600.
105.751685600000
-550.
⎢
⎥
⎣
0.
-550.
-413.403283600000⎦
> Mat_phi:=Matrix(3,1,[[Phi[1,i]],[Phi[2,i]],[Phi[3,i]]]);
⎡Φ1, 2⎤
⎢
⎥
Mat_phi := ⎢Φ2, 2⎥
⎢
⎥
⎢
⎥
⎣Φ3, 2⎦
> Mo1:=multiply(Mo,Mat_phi);
⎡
⎤
429.859630400000 Φ1, 2 − 600. Φ2, 2
⎢
⎥
⎢−600. Φ + 105.751685600000 Φ − 550. Φ ⎥
Mo1 := ⎢
1, 2
2, 2
3, 2⎥
⎢
⎥
−550. Φ2, 2 − 413.403283600000 Φ3, 2⎣
⎦
> Phi[1,i]:=1;
Φ1, 2 := 1
> Phi[2,i]:=solve(Mo1[1,1],Phi[2,i]);
Φ2, 2 := 0.7164327173
> Phi[3,i]:=solve(Mo1[2,1],Phi[3,i]);
Φ3, 2 := -0.9531564228
> Mat_phi2:=Matrix(3,1,[[Phi[1,i]],[Phi[2,i]],[Phi[3,i]]]);
# No usar. Normalizada : Matrix(3,1,[[Phi[1,i]],[Phi[2,i]],[Phi[3,i]]])/Phi[3,i];#
⎡
1
⎤
⎢
⎥
Mat_phi2 := ⎢ 0.7164327173 ⎥
⎢
⎥
⎣-0.9531564228⎦
Tercer modo
> i:=3:
>...
Regístrate para leer el documento completo.