from pylab import *
tmax = 5
dt = .5
t = arange(0, tmax, dt) # time array
pos = 2 * t**2 # simulate experimental data for x(t)
plot(t, pos, 'o-') # mark points as circles
tm = arange(dt/2, tmax-dt, dt) # array of midpoints of t
size = len(tm)
vel = [] # empty list to store velocity, dy/dt
for k in range(size):
vel.append( (pos[k+1]-pos[k])/dt) # calculate delta x/ delta y
plot(tm, vel, 'x-') # mark points as crosses
accn = gradient(vel) # use the numpy function to get gradient
plot(tm, accn, 's-') # mark points as squares
show()