wahadło w postaci masy m zawieszonej na sprężynie o długości l i

Transkrypt

wahadło w postaci masy m zawieszonej na sprężynie o długości l i
wahadło w postaci masy m zawieszonej na sprężynie
o długości l i współczynniku sprężystości k
położenie końca wahadła
x[t_] = r[t]*Sin[ϕ[t]];
y[t_] = r[t]*Cos[ϕ[t]];
energia kinetyczna
T = m /2 *(x '[t]^ 2 +y '[t]^ 2) // Simplify
1
2
r′ [t]2 +r[t]2 ϕ′ [t]2 
energia potencjalna
V = -m *g *y[t]+k *r[t]-l^ 2 2
4 (-1 +r[t])2 -Cos[ϕ[t]] r[t]
funkcja Lagrange' a
L = T -V;
równania Lagrange' a
eq1 = D[D[L, r '[t]], t]-D[L, r[t]] // Simplify
-8 -Cos[ϕ[t]]-r[t] -8 +ϕ′ [t]2 +r′′ [t]
eq2 = (D[D[L, ϕ'[t]], t]-D[L, ϕ[t]]) // Simplify
r[t] Sin[ϕ[t]]+2 r′ [t] ϕ′ [t]+r[t] ϕ′′ [t]
rozwiązanie numeryczne
m = 1; g = 1; k = 8; l = 1;
warunki początkowe
r0 = 2.0; ϕ0 = 0.2;
całkowita energia
E0 = V /. {r[t] → r0, ϕ[t] → ϕ0}
2.03987
energia potencjalna we współrzędnych kartezjańskich
v[x_, y_] = -m *g *y +k *Sqrt[x ^ 2 +y ^ 2]-l^ 2 2;
2
wahc.nb
obszar ograniczony przez zasadę zachowania energii E ⩾ V
rys0 = ContourPlotv[x, -y] ⩵ E0, x, -2 *l, 2 *l,
y, -2.5 *l, 2 *l, ContourStyle → Red, AspectRatio→ Automatic 
2
1
0
-1
-2
-2
-1
0
1
2
tmax = 400;
sol = NDSolve[{eq1 ⩵ 0, eq2 ⩵ 0, r[0] ⩵ r0, ϕ[0] ⩵ ϕ0, r '[0] ⩵ 0, ϕ'[0] ⩵ 0},
{r, ϕ}, {t, 0, tmax }] // First;
rys1[t1_] := ParametricPlot x[t] /. sol, -y[t] /. sol,
{t, 0, t1}, PlotStyle → Thin, PlotPoints→ 100
rys2[t_] := GraphicsDiskx[t] /. sol, -y[t] /. sol, 0.02 *l,
Line{0, 0}, x[t] /. sol, -y[t] /. sol
trajektoria jaką zakreśla koniec wahadła
wahc.nb
Show{rys1[tmax ], rys2[tmax ], rys0}, PlotRange → All, ImageSize → Large
1.5
1.0
0.5
-1.5
-1.0
0.5
-0.5
-0.5
-1.0
-1.5
-2.0
1.0
1.5
3