Advertisement
Matthen

Chase

Oct 1st, 2012
1,384
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. X[t_] := Module[{\[Tau] = t - 4*Floor[t/4]},
  2. Piecewise[{{2 \[Tau] - 1, 0 <= \[Tau] < 1}, {1,
  3. 1 <= \[Tau] < 2}, {1 - 2 (\[Tau] - 2), 2 <= \[Tau] < 3}, {-1,
  4. 3 <= \[Tau] < 4}}]
  5. ];
  6. Y[t_] := Module[{\[Tau] = t - 4*Floor[t/4]},
  7. Piecewise[{{1, 0 <= \[Tau] < 1}, {1 - 2 (\[Tau] - 1),
  8. 1 <= \[Tau] < 2}, {-1, 2 <= \[Tau] < 3}, {2 (\[Tau] - 3) - 1,
  9. 3 <= \[Tau] < 4}}]
  10. ];
  11. Tmax = 12;
  12. solnv[v_] :=
  13. NDSolve[{x'[t] ==
  14. 2 v (X[t] - x[t])/
  15. Max[0.01, Sqrt[(X[t] - x[t])^2 + (Y[t] - y[t])^2]],
  16. y'[t] ==
  17. 2 v (Y[t] - y[t])/
  18. Max[0.01, Sqrt[(X[t] - x[t])^2 + (Y[t] - y[t])^2]], x[0] == 0,
  19. y[0] == 0}, {x[t], y[t]}, {t, 0, Tmax}];
  20. paths = Table[solnv[v], {v, 0.1, 1, 0.1}];
  21. Manipulate[
  22. Show[Table[
  23. ParametricPlot[{{x[t], y[t]} /. paths[[i]] /. {t -> tt}}, {tt,
  24. Max[0, T - 3.5], T}, PlotRange -> 1.1,
  25. PlotStyle ->
  26. Directive[Thick, ColorData["RedBlueTones"][1 - i/Length@paths]],
  27. Axes -> None]
  28. ,
  29. {i, Length@paths}
  30. ],
  31. ParametricPlot[{X[tt], Y[tt]}, {tt, 0, T},
  32. PlotStyle -> Directive[Thick, Black]],
  33. Graphics[
  34. {
  35. Red,
  36. PointSize[Large],
  37. Disk[{X[T], Y[T]}, 0.06],
  38. Table[
  39. {ColorData["RedBlueTones"][1 - i/Length@paths],
  40. p = First[{x[t], y[t]} /. paths[[i]] /. {t -> T}];
  41. Point[p],
  42. Dotted,
  43. Lighter@ColorData["RedBlueTones"][1 - i/Length@paths],
  44. Line[{p, {X[T], Y[T]}}]
  45. }
  46. , {i, Length@paths}]
  47. }
  48. ]
  49. ]
  50. ,
  51. {T, 0.01, Tmax}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement