Animations#
Under constuction
import numpy as np
import scipy.integrate as spi
import matplotlib.pyplot as plt
from matplotlib import animation
from IPython.display import Video
tf = 20; fps = 20; num = tf*fps;
t = np.linspace(0,tf,num)
m = 1; c = 0.1; k = 1; w = 5;
F = lambda t: np.cos(w*t)
f = lambda u,t: np.array([u[1],(F(t) - c*u[1] - k*u[0])/m])
u0 = [0,0]
u = spi.odeint(f,u0,t)
A = np.max(np.abs(u[:,0]))
fig = plt.figure()
plt.xlim([-A,A]),plt.ylim(-1,1)
alllines = []
for n in range(num):
lines = plt.plot([0,u[n,0]],[0,0],'b.-')
alllines.append(lines)
anim = animation.ArtistAnimation(fig,alllines)
anim.save('ex.mp4',fps=fps)
plt.close()
Video("ex.mp4")