from numpy import *; import matplotlib.pyplot as plt; f = lambda x,t: x exact = lambda t: exp(t); n = 2; a = 0; b = 1 x0 = 1; x = zeros(n+1); t = linspace(a, b, n+1); x[0] = x0; h = float(b-a)/n; for k in range(n): x[k+1] = x[k] + h*f(x[k], t[k]) plt.plot(t,x); y = linspace(a,b,101); plt.hold('on'); plt.plot(y, exact(y)); plt.legend(['Euler', 'Exact']); plt.xlabel('t'); plt.ylabel('x(t)'); plt.show();