Université Sidi Mohamed Ben Abdellah
Ecole supérieur de technologie de Fès
Méthodes numériques
Intégration Numérique
Rb
Soit f : [a, b] → R une fonction continue. On cherche à calculer numériquement l’intégrale a f (x)dx.
Pour cela on subdivise [a, b] en plusieurs sous-intervalles (a = x0 < x1 < x2 < ... < xn = b) et on utilise la
Rb R xk+1
relation de Chasles : a f (x)dx = n−1
P
k=0 xk f (x)dx.
On est donc ramené au calcul de l’intégrale sur un petit intervalle [xk , xk+1 ], ce que l’on fait à l’aide d’une
formule de quadrature élémentaire. Une telle formule est ensuite obtenue en remplaçant f par un polynôme
d’interpolation de Lagrange.
Exemples :
1. Formule de rectangle (polynôme d’interpolation de degré 0 en xk ), ordre 0 :
Z xk+1
f (x)dx ≈ (xk+1 − xk )f (xk )
xk
x +x
2. Formule du point milieu (polynôme d’interpolation de degré 0 en k 2 k+1 ), ordre 1 :
Z xk+1
xk + xk+1
f (x)dx ≈ (xk+1 − xk )f ( )
xk 2
3. Formule du trapèze (polynôme d’interpolation de degré 1 en xk et xk+1 ), ordre 1 :
Z xk+1
f (xk ) + f (xk+1 )
f (x)dx ≈ (xk+1 − xk )
xk 2
xk +xk+1
4. Formule de Simpson (polynôme d’interpolation de degré 2 en xk , xk+1 et 2 ), ordre 3 :
xk+1 xk +xk+1
f (xk ) + 4f ( ) + f (xk+1 )
Z
2
f (x)dx ≈ (xk+1 − xk )
xk 6
Exercise 1
1. Vérifier que pour des points équidistants xk = a + k b−a
n , k = 0, 1, ..., n la formule des rectangles
composite s’écrit :
Z b n−1
b−aX b−a
f (t)dt ≈ f (a + k )
a n n
k=0
Rb
2. Programmer une fonction Matlab int = IntRectangles(a, b, n) calculant a f (x)dx par la formule
précédente. Cette fonction fera appel à une fonction Matlab y = f (x) contenant la fonction à intégrer.
R3 √
3. Tester avec 0 x sin( x)dx (faire le calcul analytique pour comparer)
4. Faire un programme Matlab pour tracer l’erreur de la méthode en fonction de n (en échelle logarith-
mique). On utilisera le cas test ci-dessus.
Exercise 2
1
1. Vérifier que pour des points équidistants xk = a + k b−an , k = 0, 1, ..., n la formule du point milieu
s’écrit :
Z b n−1
b − a X xk + xk+1
f (t)dt ≈ f( )
a n 2
k=0
Rb
2. Programmer une fonction Matlab int = IntP ointM ilieu(a, b, n) calculant a f (x)dx par la formule
précédente. Cette fonction fera appel à une fonction Matlab y = f (x) contenant la fonction à intégrer.
R3 √
3. Tester avec 0 x sin( x)dx (faire le calcul analytique pour comparer)
4. Faire un programme Matlab pour tracer l’erreur de la méthode en fonction de n (en échelle logarith-
mique). On utilisera le cas test ci-dessus.
Exercise 3
Rb
1. Rappeler l’approximation de a f (x)dx par la formule de Simpson pour des points équidistants xk =
a + k b−a
n , k = 0, 1, ..., n
Rb
2. Programmer une fonction Matlab int = IntSimpson(a, b, n) calculant a f (x)dx par la formule pré-
cédente.
R3 √
3. Tester le programme pour calculer 0 x sin( x)dx (faire le calcul analytique pour comparer)
4. Modifier le programme de l’exercice précédent pour tracer sur un même graphique l’erreur par la
méthode de Simpson et par la méthode des rectangles (en fonction de n). puis interpréter.