Méthodes des rectangles et des trapèzes#

Il existe de nombreuses méthodes pour réaliser une intégration numérique. Nous allons considérer ici quelques méthodes simples. Ceux qui souhaiteraient aller plus loin peuvent consulter par exemple Pratique de la simulation numérique de Bijan Mohammadi et Jacques Hervé Saïac, Dunod (2003).

Méthode des rectangles#

Dans cette méthode, on calcule l’intégrale numérique en réalisant une somme de surfaces de rectangles. Le domaine d’intégration est découpé en intervalles et on fait comme si la fonction restait constante sur chaque intervalle.

Sur chaque intervalle, on réalise ainsi l’approximation suivante :

\[\int_{a}^{b}{f(x)dx}\approx (b-a)f(\alpha)\]

\(\alpha\) est une abscisse appartenant à l’intervalle limité par \(a\) et \(b\).

Nous nous limiterons ici aux cas où \(\alpha = a\) ou \(b\), ce qui signifie que pour chaque intervalle nous considérons comme constante la valeur prise par la fonction à l’extrémité gauche ou droite de l’intervalle.

Comme exemple, nous allons réaliser un programme d’intégration pour \(\alpha = a\) et nous visualiserons les rectangles.

Pour tracer un rectangle ABCD (voir figure ci-dessous), il suffit de faire un plot avec les coordonnées de A, B, C, D et A. On termine par A pour fermer le tracé.

_images/rectangle_ABCD.png

Programme

# integration numerique par la methode des rectangles avec alpha = a

import numpy as np
import matplotlib.pyplot as plt

xmin = 0
xmax = 3*np.pi/2
nbx = 20
nbi = nbx - 1 # nombre d'intervalles

x = np.linspace(xmin, xmax, nbx)
y = np.cos(x)
plt.plot(x,y,"bo-")

integrale = 0
for i in range(nbi):
    integrale = integrale + y[i]*(x[i+1]-x[i])
    # dessin du rectangle
    x_rect = [x[i], x[i], x[i+1], x[i+1], x[i]] # abscisses des sommets
    y_rect = [0   , y[i], y[i]  , 0     , 0   ] # ordonnees des sommets
    plt.plot(x_rect, y_rect,"r")
print("integrale =", integrale)

plt.show()

(Source code)

_images/integration_rectangle_2016.png

Exercice

  • Faire de même pour \(\alpha = b\).

Méthode des trapèzes#

Comme son nom l’indique, cette méthode d’intégration utilise une somme de surfaces de trapèzes.

Sur chaque intervalle, on réalise alors l’approximation suivante :

\[\int_{a}^{b}{f(x)dx}\approx \frac{b-a}{2}\left[ f(a)+f(b) \right]\]

Justification de la formule

_images/trapeze_ABED.png

Pour calculer la surface du trapèze ABED, on fait la somme des aires du rectangle ABCD et du triangle rectangle BEC.

\[\text{surface du rectangle ABCD = AD}\times \text{AB = }(b-a)f(a)\]
\[\text{surface du triangle rectangle BEC = }\frac{\text{BC}\times \text{CE}}{2}=\frac{\left( b-a \right)\left[ f(b)-f(a) \right]}{2}\]
\[\text{surface du trapèze ABED = }\frac{b-a}{2}\left[ 2f(a)+f(b)-f(a) \right]=\frac{b-a}{2}\left[ f(a)+f(b) \right]\]

Exercice

  • Faire un programme similaire au précédent avec cette fois la méthode des trapèzes en utilisant les mêmes valeurs numériques pour la fonction. Réaliser de même la visualisation des trapèzes.