Sei sulla pagina 1di 5

Vibrazioni di una trave soggetta

a vincolo bilaterale di incastro


Calcolo dei modi di vibrazione
Impostazione matrice del sistema omogeneo
In[2]:=

(*Analisi preliminare: modi propri di vibrazione*)


(*Autovalore =4 =2 a2 ,a2 = EJ *)
S

(*Soluzione generale dell'equazione agli autovalori d4 zdx4 =z*)


Z[x_] = A Sinh[ x] + B Cosh[ x] + C Sin[ x] + D Cos[ x];
(*Imponendo che in x=0 si annullino spostamento e rotazione,
ossia Z[0]=Z'[0]=0, si ottiene D=-B,C=-A*)
(*Funzione che verifica le condizioni sull'estremo x=0*)
z[x_] = A (Sinh[ x] - Sin[ x]) + B (Cosh[ x] - Cos[ x]);
(*Matrice dei coefficienti del sistema omogeneo di equazioni lineari,
che si ottiene imponendo spostamenti e rotazioni nulle all'estremo x=
L della trave*)
B z[L] ;
M = A z[L]
A z '[L] B z '[L]
Print["Determinante"]
m = Simplify[Det[M]]
Determinante
Out[6]=

2 (- 1 + Cos[L ] Cosh[L ])

Printed by Wolfram Mathematica Student Edition

vibraz.trave.incastro.nb

Calcolo della funzione determinante in funzione di


In[7]:=

(*Posto L= gli autovalori si ottengono annullando il determinante m,


ossia trovando gli zeri della funzione f=Cos[]Cosh[]-1*)
Clear[f, df]
(*Divido tutto per 1+Sinh[]0 per rendere il grafico pi leggibile*)
Cosh[]
1
f[_] = Cos[]
;
1 + Sinh[] 1 + Sinh[]
df[_] = f[];
Print["Determinante di M in funzione di =L "]
Plot[f[], {, 0, 25}, AxesLabel {"", "Det[M]"}]
Determinante di M in funzione di =L
Det[M]
1.0

0.5

Out[11]=

10

15

20

25

-0.5

-1.0

Printed by Wolfram Mathematica Student Edition

vibraz.trave.incastro.nb

Applicazione del metodo di Newton per il calcolo approssimato degli autovalori


In[12]:=

(*Determinazione degli zeri di Det[M] col metodo delle tangenti di Newton*)


(*0=valore di prima approssimazione*)
0 = 5.;
(*Variabile di appoggio*)
00 = 0;
(*Valore fittizio di 1 per rendere
falso il test del While alla prima iterazione*)
1 = 0 + 1;
(*Iterazione e stampa delle approssimazioni successive*)
f[0]
WhileAbs[1 - 00] > 10-6 , 1 = 0 ;
df[0]
Print[1];
00 = 0;
0 = 1(*Grafico automodi di vibrazione*)
(*Si pone A=-1 e si ricava B dalla condizione z[L]0*)
0
Bsol = Solve z[L] /. ->
, A - 1 0, B;
L
0
zvibr[x_] = z[x] /. Bsol[[1]] /. ->
, A - 1;
L
(*zvibr[x_]=-Sinh 0 x-Sin 0 x+ (Sinh[0]-Sin[0]) Cosh 0 x-Cos 0 x*)
L

(Cosh[0]-Cos[0])

Print["Modo di vibrazione corrispondente"]


Plot[zvibr[x] /. L 1, {x, 0, 1}]

4.72315
4.73004
4.73004
Modo di vibrazione corrispondente

1.5

1.0
Out[19]=

0.5

0.2

0.4

0.6

0.8

1.0

Printed by Wolfram Mathematica Student Edition

vibraz.trave.incastro.nb

Assegnazione dei primi sei modi di vibrazione (necessaria per le successive simulazioni)
In[38]:=

(*Assegnazione modi di vibrazione e autovalori*)


[1] = 4.730040744862704`;
0 = [1];
z[1, x_] =
- Sinh

0
L

x - Sin

0
L

x +

Sinh[0] - Sin[0]
Cosh[0] - Cos[0]

Cosh

0
L

x - Cos

0
L

x ;

[2] = 7.853204624095838`;
0 = [2];
z[2, x_] =
- Sinh

0
L

x - Sin

0
L

x +

Sinh[0] - Sin[0]
Cosh[0] - Cos[0]

Cosh

0
L

x - Cos

0
L

x ;

[3] = 10.995607838001671`;
0 = [3];
z[3, x_] =
- Sinh

0
L

x - Sin

0
L

x +

Sinh[0] - Sin[0]
Cosh[0] - Cos[0]

Cosh

0
L

x - Cos

0
L

x ;

[4] = 14.137165491257464`;
0 = [4];
z[4, x_] =
- Sinh

0
L

x - Sin

0
L

x +

Sinh[0] - Sin[0]
Cosh[0] - Cos[0]

Cosh

0
L

x - Cos

0
L

x ;

[5] = 17.27875965739948`;
0 = [5];
z[5, x_] =
- Sinh

0
L

x - Sin

0
L

x +

Sinh[0] - Sin[0]
Cosh[0] - Cos[0]

Cosh

0
L

x - Cos

0
L

x ;

[6] = 20.42035224562606`;
0 = [6];
z[6, x_] =
- Sinh

0
L

x - Sin

0
L

x +

Sinh[0] - Sin[0]
Cosh[0] - Cos[0]

Printed by Wolfram Mathematica Student Edition

Cosh

0
L

x - Cos

0
L

x ;

vibraz.trave.incastro.nb

In[56]:=

Table[Plot[z[i, x] /. L 1, {x, 0, 1}], {i, 1, 6}]


1.5

1.5

1.0

1.0

0.5

1.0
Out[56]=

1.5

0.5

-0.5

0.2

0.4

0.6

0.8

1.0

0.5
-0.5

-1.0

-1.0

-1.5

-1.5

1.5

1.5

1.5

1.0

1.0

1.0

0.5

0.5

0.2

-0.5

0.2

0.4

0.4

0.6

0.6

0.8

0.8

1.0

1.0

-0.5

0.2

0.4

0.6

0.8

1.0

0.2

0.4

0.6

0.8

1.0

0.5
0.2

0.4

0.6

0.8

1.0

,
-0.5

-1.0

-1.0

-1.0

-1.5

-1.5

-1.5

Vibrazioni forzate

Printed by Wolfram Mathematica Student Edition