Artashes

Modeling2

Mar 8th, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.64 KB | None | 0 0
  1. import numpy as np
  2. from math import sin
  3. import matplotlib.pyplot as plt
  4.  
  5. geg = 9.8
  6. m = 1.0
  7. # c = 10.0
  8. c = 0.0
  9. leg = 140.0
  10. t0 = 0
  11. t_max = 100
  12. n = 1000
  13.  
  14. x0 = 1
  15. y0 = 0
  16.  
  17.  
  18. def f(y):
  19.     return y
  20.  
  21.  
  22. def g(x, y):
  23.     return - (geg / leg) * sin(x) - c * y / leg * m
  24.  
  25.  
  26. dx, dy = np.zeros(n + 2), np.zeros(n + 2)
  27. dx[0], dy[0] = x0, y0
  28. i, t, dt = 1, t0, t_max / n
  29. while t <= t_max:
  30.     x_, y_ = dx[i - 1], dy[i - 1]
  31.     dx[i], dy[i] = x_ + dt * f(y_), y_ + dt * g(x_, y_)
  32.     t, i = t + dt, i + 1
  33. plt.quiver(dx[:-1], dy[:-1], dx[1:] - dx[:-1], dy[1:] - dy[:-1], scale_units='xy',
  34.            angles='xy', scale=1)
  35. plt.grid()
  36. plt.show()
Add Comment
Please, Sign In to add comment