import matplotlib.pyplot as plt import numpy as np def heaviside(x): return np.heaviside(x, 1) def E(t, v, d, T): sum_term = np.sum(d*np.heaviside(t - T,1)) return v * t - sum_term v = 1.0 #[mm/year] T = np.array([10,20,40]) d = np.array([3,8,5]) N = 500 Tmax = 50 dt = Tmax/N t = np.zeros(N) y = np.zeros(N) for i in range(N): t[i] = i*dt y[i] = E(t[i], v, d, T) plt.plot(t, y) plt.show()