from math import exp def f(x): return((x + 2) * exp(-x)) def aireGRNab(N = 6, a = 0, b = 2): import matplotlib.pyplot as plt pas = (b - a) / N tupleX = tuple(a + pas * i for i in range(N + 1)) tupleY = tuple(f(i) for i in tupleX) airetotGran = 0 plt.figure() plt.plot(tupleX, tupleY, 'r-') for i in range(N): plt.fill((tupleX[i], tupleX[i], tupleX[i + 1], tupleX[i + 1]), (0, tupleY[i], tupleY[i], 0), alpha = 0.5, fill = False, hatch = '//', color = 'green') airetotGran = airetotGran + (pas * tupleY[i]) plt.title('Aire grands rectangles = ' + str(round(airetotGran, 4))) plt.xlabel('X') plt.ylabel('f(X)') plt.axis('equal') plt.grid() plt.show()