Sei sulla pagina 1di 3

Metodo della trasformata di Fourier per il calcolo dell'energia trasferita da

una forza ad un oscillatore armonico non smorzato


In[58]:=

(*Pulsazione naturale oscillatore*)


0 = 1;
(*Pulsazione forzante*)
= .7;
(*Tempo in cui agisce la forzante f[t]*)
2
T=2
;

(*Forzante nell'intervallo [0,T]*)


f[t_] = Sin[ t];
(*Definizione forzante nulla per t>T*)
F[t_] = Which[t T, f[t], t > T, 0];
(*Modulo al quadrato trasformata di
Fourier calcolata con integrazione numerica*)
2

[_] := AbsNIntegratef[t] - t , {t, 0, T} ;


(*Modulo al quadrato trasformata di Fourier per il plot
calcolato analiticamente. Da utilizzare se f[t] "semplice"*)
T

[_] = Abs f[t] - t t ;


0

(*Tempo di simulazione numerica*)


Tfin = 5 T;
sol = NDSolvex ''[t] + 0 2 x[t] F[t], x[0] 0, x '[0] 0, x, {t, 0, Tfin};
(*Estraggo la soluzione numerica*)
xn[t_] = x[t] /. sol1 ;
(*Difinisco l'energia istantanea*)
1
En[t_] =
xn '[t]2 + 0 2 xn[t]2 ;
2
(*Plotto l'energia istantanea*)
Print["Energia istantanea"]
energy = Plot[En[t], {t, 0, Tfin},
PlotRange All, AxesLabel {"t", "Energia istantanea"}]
Print["Energia col metodo della trasformata"]
1
Enfin =
[0 ];
2
energyfin = Plot[Enfin, {t, 0, Tfin}, PlotRange All,
PlotStyle {{Thickness[0.005], GrayLevel[0.5]}},
AxesLabel {"t", "Energia finale trasferita"}]
Show[energy, energyfin]
Print["Grafico trasformata forzante"]
Plot[[], {, 0, 5 0 }, PlotRange All,
AxesLabel {"", "Modulo trasformata al quadrato"}]
Energia istantanea

Printed by Wolfram Mathematica Student Edition

Fouriertransform.nb

Energia istantanea

Out[70]=

20

40

60

80

Energia col metodo della trasformata


Energia finale trasferita
1.4

1.2

1.0

Out[73]=

0.8

0.6

0.4

0.2

20

40

Printed by Wolfram Mathematica Student Edition

60

80

Fouriertransform.nb

Energia istantanea

Out[74]=

20

40

60

80

Grafico trasformata forzante


Modulo trasformata al quadrato

80

60

Out[76]=

40

20

Printed by Wolfram Mathematica Student Edition

Potrebbero piacerti anche