IPEIK 2023 1T 1MP 1PC
METHODES D’INTEGRATION
Soit une fonction f à valeurs réelles, continue par morceaux sur un intervalle [a,b].
𝒃
On souhaite calculer une valeur approchée de l’intégrale : ∫ 𝒇(𝒕)𝒅𝒕.
𝒂
1-Méthode des rectangles
La méthode des rectangles consiste à approximer la fonction f par une fonction en escalier.
𝒃 𝒂
On considère un entier n et un pas de subdivision 𝒏
. Pour tout entier k de [0,n], on pose
𝒃 𝒂
𝒂𝒌 𝒂 𝒌.
𝒏
. Sur l’intervalle [𝒂𝒌 ,𝒂𝒌 𝟏], on approxime f par la fonction constante égale à :
𝒂𝒌 𝒂𝒌 𝟏
f 𝟐
(voir figure 1).
On prend comme valeur approchée de l’intégrale de f su [a,b] , l’intégrale de la fonction escalier ainsi
construite, c'est-à-dire la somme des aires des rectangles (les rectangles ont tous une base de
longueur 𝒃 𝒏 𝒂 ).
𝒃 𝒏 𝟏
𝒃 𝒂 (𝒃 𝒂) (𝒃 𝒂)
𝒇(𝒕)𝒅𝒕 ≈ 𝒏
𝒇 𝒂
𝟐𝒏
𝒌
𝒏
𝒂 𝒌 𝟎
Figure 1 : Méthode des rectangles
Une implémentation de la méthode des rectangles pour calculer ∫ 𝑓(𝑡)𝑑𝑡. en subdivisant
l’intervalle [a,b] en n intervalles est proposée ci-après .
En voici le code python.
def rectangles(f, a, b, n):
pas =(b-a)/n
x = a + pas/2
s = 0
for k in range(n):
s = s + f(x + k*pas)
return s*pas
Ingénierie numérique /Intégration -1- IPEIK 2023
2- Méthode des trapèzes
La méthode des trapèzes consiste à approximer la fonction f par une fonction continue affine par
morceaux. Ceux-ci coïncident avec la fonction f aux points de la subdivision (voir figure 2) en notant
𝒃 𝒂
𝒂𝒌 𝒂 𝒌.
𝒏
les points de la subdivision du segment [a,b], l’air de chaque trapèze est égale à
(𝒃 𝒂) (𝒇(𝒂𝒌 ) 𝒇( 𝒂𝒌 𝟏 ))
𝒏
. , c’est-à-dire en sommant,
𝟐
𝒃 𝒏 𝟏
𝒃 𝒂 𝒇(𝒂) + 𝒇(𝒃)
𝒇(𝒕)𝒅𝒕 ≈ 𝒏 . + 𝒇 (𝒂𝒌)
𝟐
𝒂 𝒌 𝟏
Figure 2 : Méthode des trapèzes
Voici une implémentation de la méthode des trapèzes en Python.
def trapezes(f,a,b,n):
pas=(b-a)/n
s=0
for k in range(1,n):
s=s+f(a+k*pas)
return pas*((f(a)+f(b))/2 + s)
3- Méthode des Simpson
On note toujours 𝐚𝐤 𝐚 𝐤.𝐛𝐧 𝐚 . La méthode de Simpson consiste à approximer le graphe de la fonction
sur chaque segment [𝒂 + 𝒌. 𝒑𝒂𝒔 , 𝒂 + (𝒌 + 𝟏). 𝒑𝒂𝒔] par un arc de parabole qui coïncide avec
𝒂𝒌 𝒂𝒌 𝟏
le graphe de la fonction aux points d’abscisses 𝒂𝒌 , 𝒂𝒌 𝟏 et . En notant 𝒇𝒌 la fonction
𝟐
𝒂𝒌 𝒂𝒌 𝟏
parabolique obtenue pour le segment [𝒂𝒌 , 𝒂𝒌 𝟏 ] et 𝒎𝒌 = , on peut monter que l’aire
𝟐
sous l’arc de la parabole ainsi construite est égale à :
𝒂𝒌 𝟏
∫𝒂 𝒇𝒌 (𝒕)𝒅𝒕 =
𝒂𝒌 𝟏 𝒂𝒌
𝟔
. 𝒇(𝒂𝒌 ) + 𝟒𝒇(𝒎𝒌 ) + 𝒇( 𝒂𝒌 𝟏) .
𝒌
Le résultat après sommation est une expression d’une valeur approchée de l’intégrale.
𝒃 𝒏 𝟏 𝒏 𝟏
𝟏 (𝒃 𝒂)
𝒇(𝒕)𝒅𝒕 ≈ . 𝒇(𝒂) + 𝒇(𝒃) + 𝟒 𝒇 (𝒎𝒌) + 𝟐 𝒇 (𝒂𝒌)
𝟔 𝒏
𝒂 𝒌 𝟎 𝒌 𝟏
Ingénierie numérique /Intégration -2- IPEIK 2023
Figure 3 : Méthode de Simpson
Voici une implémentation de la méthode de Simpson en Python.
def simpson(f,a,b,n):
pas=(b-a)/n
m=a+pas/2
sm=f(m)
sx=0
for k in range(1,n):
sm=sm+f(m+k*pas)
sx=sx+f(a+k*pas)
return (pas/6)*(f(a)+f(b)+4*sm+2*sx)
4- Fonctions quad et romberg()
- La fonction standard du sous module integrate du module scipy pour calculer les intégrales simples
est la fonction quad.
Essayez la commande:
>>>import [Link] as sp
>>>import numpy as np
>>>print ([Link]([Link],0,[Link]))
(2.0, 2.220446049250313e-14)
La fonction retourne deux données dans un tuple : la valeur estimée de l'intégrale,
ici 2.0, et la valeur haute de l'erreur, ici 2.220446049250313e-14
- Prenons la même fonction sin et intégrons-la avec la méthode de Romberg sur les mêmes
bornes. On utilise la commande:
>>> print ([Link]([Link],0,[Link]))
2.0
Vous constaterez que le résultat est le même mais que l'erreur n'est pas indiquée.
Par défaut, elle est bornée à 1.48e-8.
Exercice :
A l’aide des méthodes d’intégrations vues au cours, calculer une valeur approchée de l’intégrale :
𝝅
𝒙. 𝒄𝒐𝒔(𝒙). 𝒅𝒙
𝟎
Comparez les résultats avec l’une des fonctions romberg() ou quad() du sous module integrate du module scipy.
Ingénierie numérique /Intégration -3- IPEIK 2023