Vous êtes sur la page 1sur 4

Bases de Python (bases-python.

html)
Présentation de NumPy (bases-numpy.html)
Tracé de courbes (introduction-courbes.html)
Tableaux et calcul matriciel (tableaux-numpy.html)
Visualisation et animation (visualisation.html)
Classes et objets (classes-et-objets.html)
Fiches pratiques (fiches-pratiques.html)
Mettre en forme des chaînes de caractères en Python (print-format.html)
Dérivée d’une fonction en Python (derivee-fonction.html)
Intégration numérique (integration-numerique.html)
Méthodes des rectangles et des trapèzes
Méthode des rectangles
Méthode des trapèzes
Intégration par la méthode de Simpson (integration-simpson.html)
Transformation de Fourier (fft-fourier.html)
Introduction à Qt5 et PyQt5 (interface-graphique.html)
Annexes (annexes.html)
Bibliographie (bibliographie.html)

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 :
b

∫ f (x)dx ≈ (b − a)f (α)


a

où α est une abscisse appartenant à l’intervalle limité par a et b.


Nous nous limiterons ici aux cas où α = 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 α = 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é.

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 (./integration/integration_rectangle_2016.py))


Exercice
Faire de même pour α = 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 :
b
b − a
∫ f (x)dx ≈ [f (a) + f (b)]
a
2

Justification de la formule

Pour calculer la surface du trapèze ABED, on fait la somme des aires du rectangle ABCD et du triangle
rectangle BEC.
surf ace du rectangle ABCD = AD × AB = (b − a)f (a)

BC × CE (b − a) [f (b) − f (a)]
surf ace du triangle rectangle BEC =  =
2 2

b − a b − a
è
surf ace du trap ze ABED =  [2f (a) + f (b) − f (a)] = [f (a) + f (b)]
2 2

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.

Licence CC BY-NC-SA 4.0 (https://creativecommons.org/licenses/by-nc-sa/4.0/deed.fr) 2021, Haut de page


David Cassagne.
Créé le 15 oct 2012.
Mis à jour le 11 sept. 2021.
Created using Sphinx (http://sphinx-doc.org/) 4.0.1.

Vous aimerez peut-être aussi