import numpy as np from matplotlib import pyplot as plt %matplotlib inline xmin = 0.0 xmax = 1.0 N = 3 xgrid = np.linspace(xmin, xmax, N) dx = 1.0 * (xmax - xmin) / (N - 1.0) f = np.ones(N) for i in range(1,N): f[i] = f[i-1] + dx * np.exp(xgrid[i-1]) ftrue = np.exp(xgrid) plt.plot(xgrid, ftrue, 'r--', linewidth = 4, label = 'Actual Solution') plt.plot(xgrid, f, 'b-', linewidth = 4, label = 'Approximate Solution') plt.legend(loc = 'upper left') plt.xlabel('x') plt.ylabel('f(x)') plt.title('Finite Difference Solution: N = 3') plt.show() xmin = 0.0 xmax = 1.0 N = 30 xgrid = np.linspace(xmin, xmax, N) dx = 1.0 * (xmax - xmin) / (N - 1.0) f = np.ones(N) for i in range(1,N): f[i] = f[i-1] + dx * np.exp(xgrid[i-1]) ftrue = np.exp(xgrid) plt.plot(xgrid, ftrue, 'r--', linewidth = 4, label = 'Actual Solution') plt.plot(xgrid, f, 'b-', linewidth = 4, label = 'Approximate Solution') plt.legend(loc = 'upper left') plt.xlabel('x') plt.ylabel('f(x)') plt.title('Finite Difference Solution: N = 30') plt.show()