# -*- coding: utf-8 -*- import numpy as np import matplotlib.pylab as plt plt.ion() plt.close('all') plt.figure(1) Ni=np.arange(2,2**15,2**2) Ie=np.exp(1)-1 #valeur exacte de l'intégrale h=np.zeros(len(Ni)) errg=np.zeros(len(Ni)) #erreur rectangle à gauche errd=np.zeros(len(Ni)) #erreur rectangle à droite errt=np.zeros(len(Ni)) #erreur trapèze k=0 for i in Ni: dx=1./i Xg=np.linspace(0,1-dx,i) Xd=np.linspace(dx,1,i) yg=np.exp(Xg) yd=np.exp(Xd) yt=(yg+yd)/2 h[k]=dx errg[k]=np.abs(dx*np.sum(yg)-Ie) errd[k]=np.abs(dx*np.sum(yd)-Ie) errt[k]=np.abs(dx*np.sum(yt)-Ie) k+=1 plt.clf() plt.plot(np.log2(h),np.log2(errg),np.log2(h),np.log2(errt),'r') #En bleu: méthode des rectangles. En rouge: méthode des trapèzes plt.show()