from pylab import * from solvers import * from pendulum_visualizer import * from numpy import sin l = 2.0 # pendulum length A = 0.8 # oscillation amplitude w = 4.0 * pi # oscillation frequency g = 9.81 # gravitational constant # system of first-order differential equations f = ( lambda t, y: y[1], lambda t, y: ((-g + A * pow(w, 2.0) * sin(t * w)) * sin(y[0])) / l ) f0 = ( 0.5, # initial pendulum angle 0.0, # initial pendulum angular velocity ) interval = (0.0, 32.0 * pi) h = 0.033 t, y, err = solver(RK4_step, f, f0, interval, h) z = A * sin(w * array(t)) PendulumVisualizer(t, z, y[0], l) #plot(t, y[0]) #show()