Advertisement
Guest User

Raketti Trajectory

a guest
Nov 21st, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. import math
  2. import numpy
  3. import matplotlib.pyplot as plt
  4.  
  5. m = 0.25
  6. g = 9.8
  7. P = 15
  8. T = 2
  9. rho = 1.2
  10. S = math.pi * 0.02**2
  11. S_p = math.pi * 0.17**2
  12. C = 0.5
  13. C_p = 1.3
  14. T_p = 8
  15.  
  16. def a1(v):
  17. return (P - m*g - numpy.sign(v) * C*rho*S*v**2/2) / m
  18.  
  19. def a2(v):
  20. return (-m*g- numpy.sign(v)* C*rho*S*v**2/2) / m
  21.  
  22. def a3(v):
  23. return (-m*g - numpy.sign(v)* C_p*rho*S_p*v**2/2) / m
  24.  
  25. h = [0]
  26. v = [0]
  27. t = 0
  28. dt = 1e-3
  29.  
  30. while t < T:
  31. h.append(h[-1] + v[-1] * dt + a1(v[-1]) * dt ** 2 / 2)
  32. v.append(v[-1]+ a1(v[-1]) * dt)
  33. t = t + dt
  34.  
  35. while h[-1] > 0:
  36. if t < T_p:
  37. h.append(h[-1] + v[-1] * dt + a2(v[-1]) * dt ** 2 / 2)
  38. v.append(v[-1] + a2(v[-1]) * dt)
  39. else:
  40. h.append(h[-1] + v[-1] * dt + a3(v[-1]) * dt ** 2 / 2)
  41. v.append(v[-1] + a3(v[-1]) * dt)
  42. t = t + dt
  43.  
  44.  
  45. plt.figure()
  46. plt.plot([dt*i for i in range(len(h))], h)
  47. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement