Advertisement
mirosh111000

lr3

Oct 15th, 2023
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.67 KB | None | 0 0
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4.  
  5. omega_0 = 1.0  # Частота коливань
  6. x0 = 1.0  # Початкове положення
  7. v0 = 0.0  # Початкова швидкість
  8.  
  9. t = np.linspace(0, 100, 1000)
  10. dt = t[1] - t[0]
  11.  
  12. x = np.zeros_like(t)
  13. v = np.zeros_like(t)
  14.  
  15. x[0] = x0
  16. v[0] = v0
  17.  
  18. for i in range(1, len(t)):
  19.     x[i] = x[i - 1] + v[i - 1] * dt
  20.     v[i] = v[i - 1] - omega_0**2 * x[i - 1] * dt
  21.  
  22. plt.figure(figsize=(8, 6))
  23. plt.plot(x, v, label='Фазовий портрет')
  24. plt.xlabel('x')
  25. plt.ylabel('dx/dt')
  26. plt.title('Фазовий портрет вільних коливань')
  27. plt.legend()
  28. plt.grid(True)
  29. plt.show()
  30.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement