Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. Needs["VariationalMethods`"]
  2. ClearAll[Global]
  3.  
  4.  
  5. variables = {Subscript[[Theta], 1][t], Subscript[[Theta], 2][t],
  6. Subscript[[Theta], 3][t]};
  7. Subscript[r, 1] =
  8. Subscript[l,
  9. 1] {Sin[Subscript[[Theta], 1][t]], -Cos[
  10. Subscript[[Theta], 1][t]]};
  11. Subscript[r, 2] =
  12. Subscript[r, 1] +
  13. Subscript[l,
  14. 2] {Sin[Subscript[[Theta], 2][t]], -Cos[
  15. Subscript[[Theta], 2][t]]};
  16. Subscript[r, 3] =
  17. Subscript[r, 2] +
  18. Subscript[l,
  19. 3] {Sin[Subscript[[Theta], 3][t]], -Cos[
  20. Subscript[[Theta], 3][t]]};
  21.  
  22. Subscript[l, 1] = 1;
  23. Subscript[l, 2] = 1;
  24. Subscript[l, 3] = 1;
  25. Subscript[m, 1] = 1;
  26. Subscript[m, 2] = 1;
  27. Subscript[m, 3] = 1;
  28. g = 9.81;
  29. tMax = 10;
  30. initial = {Subscript[[Theta], 1][0] == Pi/2,
  31. Subscript[[Theta], 2][0] == Pi, Subscript[[Theta], 3][0] == Pi/2,
  32. Subscript[[Theta], 1]'[0] == Pi/2,
  33. Subscript[[Theta], 2]'[0] == 0, Subscript[[Theta], 3]'[0] == 0};
  34.  
  35.  
  36. lagrangian = (Subscript[m, 1]/2) D[Subscript[r, 1], t].D[Subscript[r,
  37. 1], t] + (Subscript[m, 2]/2) D[Subscript[r, 2], t].D[Subscript[
  38. r, 2], t] + (Subscript[m, 3]/2) D[Subscript[r, 3], t].D[
  39. Subscript[r, 3], t] -
  40. g {0, 1}.(Subscript[m, 1]*Subscript[r, 1] +
  41. Subscript[m, 2]*Subscript[r, 2] +
  42. Subscript[m, 3]*Subscript[r, 3]);
  43. eqs = EulerEquations[lagrangian, variables, t];
  44.  
  45. sol = First[NDSolve[Join[eqs, initial], variables, {t, 0, tMax}]];
  46.  
  47. Plot[Subscript[[Theta], 2]'[t] /. sol, {t, 0, 10}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement