Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- omega_0 = 1.0 # Частота коливань
- x0 = 1.0 # Початкове положення
- v0 = 0.0 # Початкова швидкість
- t = np.linspace(0, 100, 1000)
- dt = t[1] - t[0]
- x = np.zeros_like(t)
- v = np.zeros_like(t)
- x[0] = x0
- v[0] = v0
- for i in range(1, len(t)):
- x[i] = x[i - 1] + v[i - 1] * dt
- v[i] = v[i - 1] - omega_0**2 * x[i - 1] * dt
- plt.figure(figsize=(8, 6))
- plt.plot(x, v, label='Фазовий портрет')
- plt.xlabel('x')
- plt.ylabel('dx/dt')
- plt.title('Фазовий портрет вільних коливань')
- plt.legend()
- plt.grid(True)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement