Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- time = 60
- dt = 0.001
- m = 0.1
- g = 9.81
- theta = 5*np.pi/6
- k = 200
- L0 = 1
- r = np.zeros((n,2),float)
- v = np.zeros((n,2),float)
- a = np.zeros((n,2),float)
- t = np.zeros((n,1),float)
- n = int(np.ceil(time/dt))
- r0 = np.array([L0*np.sin(theta) ,L0*np.cos(theta) ])
- v0 = np.array([1.0, 0.0])
- r[0,:] = r0
- v[0,:] = v0
- for i in range(n):
- a[i,:] = (-m*g*np.array[0,1]-k*(((r[i,0])**2+(r[i,1])**2)-L0))/m*(r[i,0] /((r[i,0])**2+(r[i,1])**2))
- v[i+1,:] = v[i,:] + a[i,:]*dt
- r[i+1,:] = r[i,:] + v[i+1,:]*dt
- plt.plot(r[1:i, 0], r[1:i, 1])
- plt.show()
Add Comment
Please, Sign In to add comment