Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ClearAll["Global`*"]
- x[t_] := {{s[t] Cos[u[t]] + b/2 Sin[u[t]]}, {-s[t] Sin[u[t]] + b/2 Cos[u[t]]}}
- T[t_] = Simplify[1/2 (m) Flatten[x'[t]].Flatten[x'[t]]] + 1/2 (1/12 m (l^2 + b^2) + m s[t]^2) u'[t]^2;
- V[t_] := m g (-s[t] Sin[u[t]] + b/2 Cos[u[t]])
- L[t_] = Simplify[T[t] - V[t]];
- << VariationalMethods`
- eoms[t_] := Simplify[VariationalD[L[t], s[t], t]]
- eomu[t_] := Simplify[VariationalD[L[t], u[t], t]]
- solution = Block[{m = 0.1, l = 0.1, g = 9.81, b = 0.02},
- NDSolve[{eoms[t] == 0, eomu[t] == 0, u[0] == 0.0, s[0] == 0.01,
- s'[0] == 0.3, u'[0] == 0.1}, {u, s}, {t, 0, 10}]]
- f[t_] = D[x[t][[1, 1]], {t, 2}] /. solution;
- Block[{m = 0.1, l = 0.1, g = 9.81, b = 0.02},
- Plot[f[t], {t, 0, 10}, AxesLabel -> {t, "ddot x"}, PlotRange -> All]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement