Comme nous l’avons vu dans le chapitre précédent, la méthode des trapèzes est plus précise que la méthode des rectangles. Notre but dans ce chapitre est de trouver une manière de se rapprocher encore plus de la courbe.
Principe de la méthode
La méthode de Simpson consiste à remplacer la fonction sur chaque intervalle par une fonction qui sera un trinôme. En effet, nous allons l’approcher par un polynôme de degré 2 qui passe pas les points , et par le point au milieu avec .
La courbe de la fonction est quasiment confondue avec les courbes des fonctions .
Cependant, nous ne savons toujours pas que sont nos polynômes. En fait, il existe un unique polynôme de degré 2 qui vérifie les conditions que nous lui imposons. Pour le construire nous allons utiliser les polynômes interpolateurs de Lagrange. Si vous ne les connaissez pas, ça ne fait rien, nous allons construire notre polynôme pas par pas.
Récapitulons ce que nous demandons au polynôme .
- L’image de par la fonction polynomiale associée doit être .
- L’image de par la fonction polynomiale associée doit être .
- L’image de par la fonction polynomiale associée doit être .
Les autres points ne nous importent donc pas.
Pour construire ce polynôme, nous allons construire trois polynômes :
- tel que , et .
- tel que , et .
- tel que , et .
On les construit de cette manière :
Nous pouvons vérifier, ces polynômes font bien ce qu’on leur demande. Par exemple :
Maintenant, il est très simple de construire :
On obtient bien un polynôme qui satisfait aux contraintes que nous lui avions imposées.
Calcul de l’intégrale
Il nous reste maintenant le plus gros du travail à faire. Il nous faut calculer l’intégrale de . Et pour cela, il nous faut calculer les intégrales de , de et de .
Pour faciliter l’écriture, nous allons poser pour le calcul de ces intégrales .
On a :
Nous pouvons sortir la constante :
En faisant une intégration par partie :
Et là nous savons faire l’intégration et donc :
Nous poursuivons le calcul pour obtenir :
Et finalement, sachant que et que , on a :
Le même calcul mène à
De la même manière, nous calculons l’intégrale de :
Toujours en sortant la constante :
Et là, on fait la même intégration par partie que précédemment :
D’où :
Nous poursuivons le calcul pour obtenir :
Et finalement, sachant que , que et que , on a :
Grâce à ces deux calculs, nous pouvons calculer l’intégrale de :
Ouf, c’était un travail de longue haleine, mais le plus dur est maintenant fait.
Calcul de l’intégrale complète
Il ne nous reste plus qu’à calculer la somme des intégrales de pour enfin avoir l’approximation de notre intégrale (on revient à notre « ») :
Comme d’habitude on sort la constante de la somme :
On remarque que tous les sont comptés deux fois sauf le premier () et le dernier (). Donc on peut les sortir de la somme (mais ça nous oblige à sortir le de la somme) :
Et c’est cette écriture que nous allons garder.
Algorithme et tests
Écrivons cet algorithme en Python (pour obtenir les , il nous suffit d’ajouter ) :
def simpson(f, a, b, n):
pas = (b - a) / n
somme = (f(a) + f(b)) / 2 + 2 * f(a + pas / 2) # On initialise la somme
x = a + pas # La somme commence à x_1
for i in range(1, n): # On calcule la somme
somme += f(x) + 2 * f(x + pas / 2)
x += pas
return somme * pas / 3 # On retourne cette somme fois le pas / 3
Comme pour la méthode des rectangles et celle des trapèzes, essayons-la avec la fonction cosinus sur , en découpant l’intervalle en 100. On obtient alors ce graphe.
Le graphe nous permet déjà de savoir que le résultat obtenu sera proche de la vraie valeur de l’intégrale, et en effet, nous obtenons un résultat de l’ordre de 10-15. Ce résultat est bien proche de 0.
En fait, la méthode de Simpson est moins précise que la méthode des trapèzes dans le cas particulier de la fonction cosinus. Dans le bloc secret qui suit, nous verrons pourquoi. Il ne s’agit que d’un cas particulier, mais généralement, sur une fonction suffisamment régulière (voir le chapitre suivant), la méthode de Simpson est plus précise.
En fait, la méthode des trapèzes est censé donner un résultat nul pour la fonction cosinus sur . En effet, appliquer la méthode des trapèzes avec un pas dans ce cas consiste à calculer
On a , il nous reste à calculer la somme (appelons la ). On a en faisant le changement d’indice ,
On en déduit que est nul, et donc on obtient bien que la méthode des trapèzes donne un résultat nul dans ce cas particulier (l’ordinateur ne nous donne pas 0 à cause des erreurs d’approximations).
Un autre fait que nous pouvions remarquer est que (toujours pour la fonction cosinus entre et ), la méthode des rectangles nous donne , car elle consiste à calculer
Il est maintenant temps de voir ce que cette méthode nous donne sur notre exemple.
print(simpson(f, 0, 1, 100))
Avec elle on obtient environ 0,746824.