Convolution integral export as animation

 This example is taken from a tutorial related to convolution integral.I would like to export this example as animation in mp4 format. So far, the code looks like this :import scipy.integrate import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation def showConvolution(t0,f1, f2): # Calculate the overall convolution result using Simpson integration convolution = np.zeros(len(t)) for n, t_ in enumerate(t): prod = lambda tau: f1(tau) * f2(t_-tau) convolution[n] = scipy.integrate.simps(prod(t), t) # Create the shifted and flipped function f_shift = lambda t: f2(t0-t) prod = lambda tau: f1(tau) * f2(t0-tau) # Plot the curves plt.gcf().clear() # il plt.subplot(211) plt.gca().set_ymargin(0.05) # il plt.plot(t, f1(t), label=r'$f_1(\tau)$') plt.plot(t, f_shift(t), label=r'$f_2(t_0-\tau)$') plt.fill(t, prod(t), color='r', alpha=0.5, edgecolor='black', hatch='//') # il plt.plot(t, prod(t), 'r-', label=r'$f_1(\tau)f_2(t_0-\tau)$') plt.grid(True); plt.xlabel(r'$\tau$'); plt.ylabel(r'$x(\tau)$') # il plt.legend(fontsize=10) # il plt.text(-4, 0.6, '$t_0=%.2f$' % t0, bbox=dict(fc='white')) # il # plot the convolution curve plt.subplot(212) plt.gca().set_ymargin(0.05) # il plt.plot(t, convolution, label='$(f_1*f_2)(t)$') # recalculate the value of the convolution integral at the current time-shift t0 current_value = scipy.integrate.simps(prod(t), t) plt.plot(t0, current_value, 'ro') # plot the point plt.grid(True); plt.xlabel('$t$'); plt.ylabel('$(f_1*f_2)(t)$') # il plt.legend(fontsize=10) # il plt.show() # il Fs = 50 # our sampling frequency for the plotting T = 5 # the time range we are interested in t = np.arange(-T, T, 1/Fs) # the time samples f1 = lambda t: np.maximum(0, 1-abs(t)) f2 = lambda t: (t>0) * np.exp(-2*t) t0 = np.arange(-2.0,2.0, 0.05) fig = plt.figure(figsize=(8,3)) anim = animation.FuncAnimation(fig, showConvolution, frames=t0, fargs=(f1,f2),interval=80) anim.save('animation.mp4', fps=30) # fps = frames per second plt.show()Is there a way to change t0 so that I'd like to able to save it as animation as in the tutorial In the example t0 decreases from -2.0 to -1.95 etc the green curve is shifted right, and the area between curves, product increases. In the tutorial there is an html animation and I would like to save as mp4 file.I've also added code as an attachment. _______________________________________________ Matplotlib-users mailing list [hidden email] https://mail.python.org/mailman/listinfo/matplotlib-users convolution.py (2K) Download Attachment