Vous êtes sur la page 1sur 4

STUDIO DELL'OSCILLATORE LINEARE

Equazione differenziale dell'oscillatore lineare


x ''[t] + 2 x '[t] + 2 x[t] = F[t]

Printed by Wolfram Mathematica Student Edition

oscillatorelin.nb

Calcolo analitico della soluzione


(*Risolve analiticamente l'equazione dell'oscillatore armonico
forzato e smorzato, calcolando separatamente le soluzioni
risonanti senza smorzamento e quella corrispondente allo
smorzamento critico. La forza eccitatrice F[t] sinusoidale*)
sol = DSolveA ''[t] + 2 A '[t] + 2 A[t] F Sin[ t],
A[0] A0, A '[0] Ap0, A[t], t;
(*Soluzione risonante senza smorzamento*)
sol0 = DSolveA ''[t] + 2 A[t] F Sin[ t], A[0] A0, A '[0] Ap0, A[t], t;
(*Soluzione con smorzamento critico = *)
solsame = DSolve
A ''[t] + 2 A '[t] + 2 A[t] F Sin[ t], A[0] A0, A '[0] Ap0, A[t], t;
Xnr[t_] = FullSimplify[A[t] /. sol1 ];
(*Derivata temporale*)
DtXnr[t_] = FullSimplify[t Xnr[t]];
(*Soluzione risonante =0, = *)
Xr[t_] = FullSimplify[A[t] /. sol01 ];
(*Derivata temporale*)
DtXr[t_] = FullSimplify[t Xr[t]];
(*Soluzione corrispondente allo smorzamento critico = *)
Xcrit[t_] = FullSimplify[A[t] /. solsame1 ];
(*Derivata temporale*)
DtXcrit[t_] = FullSimplify[t Xcrit[t]];
(*X posizione e V velocit*)
X[t_, _, _, _, F_, A0_, Ap0_] =

V[t_, _, _, _, F_, A0_, Ap0_] =

Xr[t]

Abs[] < 10-9 Abs[ - ] < 10-9

Xcrit[t] Abs[ - ] < 10-9


Xnr[t]
True
DtXr[t]

Abs[] < 10-9 Abs[ - ] < 10-9

DtXcrit[t] Abs[ - ] < 10-9


DtXnr[t]
True

grpoint[t_, _, _, _, F_, A0_, Ap0_, img_] :=


Show[Plot[0, {x, - 5, 5}, Axes {True, False}, AxesLabel {"x", None}],
Graphics[{Red, Disk[{X[t, , , , F, A0, Ap0], 0}, .25]},
PlotRange {{- 5, 5}, All}], AspectRatio .25, ImageSize img]

Printed by Wolfram Mathematica Student Edition

oscillatorelin.nb

Visualizzazione della soluzione tramite Manipulate


In[1]:=

ManipulateGraphicsGrid
Animategrpoint[t, , , , F, A0, Ap0, img], t, tiniz, tfin, 2 60. ,
AnimationRunning False, AnimationRate 2.,
AppearanceElements "ResetButton", ImageMargins 30, SpanFromLeft,
SpanFromAbove, Plot[X[t, , , , F, A0, Ap0], {t, tiniz, tfin},
PlotRange All, AxesLabel {"t", "X[t]"}, ImageSize img],
1
1
Plot V[t, , , , F, A0, Ap0]2 + 2 X[t, , , , F, A0, Ap0]2 ,
2
2
{t, tiniz, tfin}, PlotRange {0, All},
AxesLabel {"t", "Energia"}, PlotStyle Red, ImageSize img,
{ParametricPlot[{X[t, , , , F, A0, Ap0], V[t, , , , F, A0, Ap0]},
{t, tiniz, tfin}, PlotRange All, PlotLabel "Piano delle Fasi",
AxesLabel {"X[t]", "X'[t]"}, ImageSize img, AspectRatio Full]},
{{, 1, "Pulsazione naturale "}, 1, 9.},
{{, 0.5, "Pulsazione forzante "}, 0., 9.},
{{, 0, "Coeff.te di smorzamento "}, 0., 6., .1},
{{F, 0, "Ampiezza forzante F"}, 0, 20.},
Delimiter,
{{A0, 0, "Posizione iniziale"}, 0, 2., 1.},
{{Ap0, 0, "Velocit iniziale"}, 0, 20.},
{{tiniz, 0, "Tempo iniziale"}, 0, 200 2 , 8. },
tfin, 10-6. , "Tempo finale", 10-6. , 200 2 , 10 ,
{{img, 250, "Dimensione grafici"}, 100, 600, 50},
ControlPlacement Left,
SaveDefinitions True

Printed by Wolfram Mathematica Student Edition

oscillatorelin.nb

Pulsazione naturale
2.03

Pulsazione forzante
Coeff.te di smorzamento
t

Ampiezza forzante F

Posizione iniziale
Velocit iniziale
Tempo iniziale
Tempo finale
X[t]

Dimensione grafici

1.0

0.5
Out[1]=

-1.0

-0.5

-0.5

-1.0

Piano delle Fasi


X'[t]

1.0

0.5

-1.0

-0.5

-0.5

-1.0

Printed by Wolfram Mathematica Student Edition

Vous aimerez peut-être aussi