Dérivation et intégration numériques
Dérivation et intégration numériques
Différentiation et intégration
numériques
6.1 Introduction
Le contenu de ce chapitre prolonge celui du chapitre 5 sur l’interpolation.
À peu de choses près, on y manie les mêmes outils d’analyse. Dans le cas de
l’interpolation, on cherchait à évaluer une fonction f (x) connue seulement en
quelques points. Dans le présent chapitre, le problème consiste à obtenir des
approximations des différentes dérivées de cette fonction de même que de :
! xn
f (x)dx
x0
est fondée sur l’égalité 6.1. Nous utiliserons un mélange des deux approches,
ce qui nous permettra d’avoir un portrait assez complet de la situation.
Commençons d’abord par l’équation 6.1. Si l’on dérive de chaque côté de
l’égalité, on obtient successivement :
Ainsi, pour évaluer la dérivée d’une fonction connue aux points ((xi , f (xi ))
pour i = 0, 1, 2, · · · , n), il suffit de dériver le polynôme d’interpolation passant
par ces points. De plus, le terme d’erreur associé à cette approximation de la
dérivée est tout simplement la dérivée de l’erreur d’interpolation. Ce résultat
est vrai quel que soit l’ordre de la dérivée.
Remarque 6.1
Bien qu’en théorie on soit en mesure d’estimer les dérivées de tout ordre, sur
le plan pratique, on dépasse rarement l’ordre 4. Cela s’explique par le fait que
la différentiation numérique est un procédé numériquement instable. !
f (n+1) (ξ(x))
En (x) = [(x − x0 )(x − x1 ) · · · (x − xn )] (6.3)
(n + 1)!
f (n+1) (ξ(x))
+ [(x − x0 )(x − x1 ) · · · (x − xn )]′
(n + 1)!
xi+1 − xi = h
c’est-à-dire :
(−1)n hn f (n+1) (ξ0 )
En′ (x0 ) = (6.6)
(n + 1)
pour un certain ξ0 compris dans l’intervalle [x0 , xn ].
Remarque 6.2
L’équation 6.5 montre que, si l’on utilise un polynôme d’interpolation de degré
n (c’est-à-dire d’ordre (n + 1)), la dérivée de ce polynôme évaluée en x = xi
est une approximation d’ordre n de f ′ (xi ). !
294 Chapitre 6
Définition 6.3
Aux points d’interpolation, on a :
Le terme p′n (xi ) dans l’équation 6.7 est une formule aux différences finies
ou plus simplement une formule aux différences. Nous proposons plus loin
plusieurs formules aux différences finies pour évaluer les différentes dérivées
de f (x). Elles se distinguent principalement par le degré du polynôme et par
les points d’interpolation retenus.
Appproximations d’ordre 1
Si l’on choisit le polynôme de degré 1 passant par les points (x0 , f (x0 )) et
(x1 , f (x1 )), on a, grâce à la formule d’interpolation de Newton :
et donc :
f ′ (x) = p′1 (x) + E1′ (x) = f [x0 , x1 ] + E1′ (x) (6.8)
En vertu de la relation 6.6 avec n = 1 et puisque (x1 − x0 ) = h, on arrive à :
f (x1 ) − f (x0 )
f ′ (x1 ) = + E1′ (x1 )
x1 − x0
⎛ ⎞
1
%
f (x1 ) − f (x0 ) h1 f (2) (ξ1 ) ⎝
= + (1 − j)⎠
h 2!
j=0(j̸=1)
ou encore :
Les termes d’erreur de ces formules aux différences finies découlent tous de
la relation 6.5 lorsqu’on pose successivement i = 0, 1 et 2. Pour i = 0, on peut
utiliser directement l’équation 6.6. Les points ξ0 , ξ1 et ξ2 sont situés quelque
part dans l’intervalle [x0 , x2 ] et sont inconnus (voir les exercices de fin de
chapitre).
Remarque 6.4
Toutes ces formules aux différences sont d’ordre 2. Les mentions avant, centrée
et arrière renvoient au point où l’on calcule la dérivée et aux points utilisés
pour la calculer. Ainsi, la différence avant est évaluée en x0 sur la base des
valeurs situées vers l’avant, soit en x1 et en x2 . La différence arrière fixe la
dérivée en x = x2 avec l’appui des valeurs de la fonction en x0 et en x1 . La
différence centrée, quant à elle, fait intervenir des valeurs situées de part et
d’autre de x1 .
La figure 6.1 illustre les différentes possibilités. Pour les différences
d’ordre 1, on estime la dérivée par la pente du segment de droite joignant
les points (x0 , f (x0 )) et (x1 , f (x1 )). Dans le cas des différences d’ordre 2, on
296 Chapitre 6
Différence avant d’ordre 2 (en x0 )
x0 x1 x2
f (x + h) − f (x)
f ′ (x) = + O(h)
h
Différence avant d’ordre 1 (6.12)
f (x) − f (x − h)
f ′ (x) = + O(h)
h
Différence arrière d’ordre 1
Différentiation et intégration numériques 297
−f (x + 2h) + 4f (x + h) − 3f (x)
f ′ (x) = + O(h2 )
2h
Différence avant d’ordre 2
f (x + h) − f (x − h) (6.13)
f ′ (x) = + O(h2 )
2h
Différence centrée d’ordre 2
3f (x) − 4f (x − h) + f (x − 2h)
f ′ (x) = + O(h2 )
2h
Différence arrière d’ordre 2
Exemple 6.5
On tente d’évaluer la dérivée de f (x) = ex en x = 0. La solution exacte est
dans ce cas f ′ (0) = e0 = 1. On peut dès lors comparer ce résultat avec ceux
que l’on obtient par les différentes formules aux différences. Par exemple, la
différence avant d’ordre 1 donne pour h = 0,1 :
′ e0+h − e0 e 0, 1 − 1
f (0) ≃ = = 1,051 709 18
h 0,1
Une valeur plus petite de h conduit à un résultat plus précis. Ainsi, si h = 0,05 :
′ e0,05 − 1
f (0) ≃ = 1,025 4219
0,05
On obtient ainsi une erreur à peu près deux fois plus petite, ce qui confirme
que cette approximation est d’ordre 1. Si l’on utilise cette fois une différence
centrée d’ordre 2, on obtient avec h = 0,05 :
′ e0,05 − e−0,05
f (0) ≃ = 1,000 4167
2(0,05)
′ e0,025 − e−0,025
f (0) ≃ = 1,000 104 18
2(0,025)
soit une erreur à peu près 4 fois plus petite qu’avec h = 0,05. On obtiendrait
des résultats similaires avec les différences avant et arrière d’ordre 2. "
298 Chapitre 6
= f ′′ (x0 ) + O(h)
Différentiation et intégration numériques 299
f ′′ (x1 ) 2
f (x1 + h) = f (x1 ) + f ′ (x1 )h + h
2!
f ′′ (x1 ) 2
f (x1 − h) = f (x1 ) − f ′ (x1 )h + h
2!
f (4) (x1 ) 4
f (x1 + h) − 2f (x1 ) + f (x1 − h) f ′′ (x1 )h2 + 12 h + O(h6 )
=
h2 h2
f (4) (x1 ) 2
= f ′′ (x1 ) + h + O(h4 )
12
= f ′′ (x1 ) + O(h2 )
On peut obtenir toute une série de formules aux différences finies en uti-
lisant des polynômes de degré plus ou moins élevé et en choisissant les déve-
loppements de Taylor appropriés pour en obtenir l’ordre de convergence. Les
tableaux suivants présentent les principales d’entre elles.
f (x − 2h) − 2f (x − h) + f (x)
f ′′ (x) = + O(h)
h2
Différence arrière d’ordre 1
f (x + 2h) − 2f (x + h) + f (x)
f ′′ (x) = + O(h)
h2
Différence avant d’ordre 1 (6.15)
f (x + h) − 2f (x) + f (x − h)
f ′′ (x) = + O(h2 )
h2
Différence centrée d’ordre 2
f
(4)
(x) = f (x+2h)−4f (x+h)+6f (x)−4f (x−h)+f (x−2h)
+ O(h2 ) (6.16)
h4
f (x0 + h) − f (x0 − h)
f ′ (x0 ) ≃
2h
on constate que, lorsque h tend vers 0, le numérateur contient la soustraction
de deux termes très proches l’un de l’autre. Cela résulte en l’élimination par
soustraction (voir la section 1.5.2) de plusieurs chiffres significatifs lorsque h
est trop petit. À quoi s’ajoute une division par un nombre très petit. L’exemple
suivant illustre ce phénomène.
Différentiation et intégration numériques 301
Exemple 6.7
On considère les différences centrées d’ordre 2 pour le calcul des dérivées pre-
mière et deuxième de la fonction f (x) = ex en x = 0. Ces deux calculs, qui
doivent normalement aboutir à 1, permettent d’apprécier la précision des ré-
sultats. Le tableau suivant rassemble les résultats en simple précision, ce qui
correspond à peu près à travailler avec une mantisse de 7 chiffres décimaux.
10−02 1,000 016 666 749 992 12 1,000 008 333 360 558 05
10−03 1,000 000 166 666 681 34 1,000 000 083 406 504 81
10−04 1,000 000 001 666 889 74 1,000 000 005 024 759 28
10−05 1,000 000 000 012 102 32 0,999 998 972 517 346 26
10−06 0,999 999 999 973 244 40 0,999 977 878 279 878 16
10−07 0,999 999 999 473 643 93 0,999 200 722 162 640 44
10−08 0,999 999 993 922 528 80 0,000 000 000 000 000 00
10−09 1,000 000 027 229 219 55 111,022 302 462 515 597
10−10 1,000 000 082 740 370 78 0,000 000 000 000 000 00
10−11 1,000 000 082 740 370 78 0,000 000 000 000 000 00
10−13 0,999 755 833 674 953 35 −11 102 230 246,251 562
10−15 1,054 711 873 393 898 71 111 022 302 462 515,641
10−17 0,000 000 000 000 000 00 0,000 000 000 000 000 00
Lorsque h est trop petit, l’élimination par soustraction des chiffres significatifs
302 Chapitre 6
L’approximation Qapp ( h2 ) est généralement plus précise que Qapp (h). On peut
cependant se servir de ces deux approximations pour en obtenir une nouvelle,
encore plus précise. L’idée consiste à combiner les relations 6.17 et 6.18 de
telle sorte que le terme d’ordre n (cn hn ) disparaisse. Cela est possible si l’on
multiplie l’équation 6.18 par 2n pour obtenir :
( ) ( n+1 ) ( n+2 )
h h h
2n Qexa = 2n Qapp + cn hn + cn+1 + cn+2 + ···
2 2 22
En soustrayant l’énoncé 6.17 de cette dernière relation, on obtient :
( )
n n h 1 3
(2 − 1)Qexa = 2 Qapp − Qapp (h) − cn+1 hn+1 − cn+2 hn+2 + · · ·
2 2 4
d’où :
2n Qapp ( h2 ) − Qapp (h) − 12 cn+1 hn+1 − 34 cn+2 hn+2 + · · ·
Qexa = + (6.19)
(2n − 1) (2n − 1)
Différentiation et intégration numériques 303
Exemple 6.8
On a vu qu’en utilisant une différence avant d’ordre 1 pour calculer la dérivée
de ex en x = 0 on obtient :
e0+h − e0 e 0, 1 − 1
f ′ (0) ≃ = = 1,051 709 18 = Qapp (0,1)
h 0,1
pour h = 0,1 et :
e0,05 − 1
f ′ (0) ≃ = 1,025 4219 = Qapp (0,05)
0,05
pour h = 0,05. On peut maintenant faire le calcul à l’aide de l’équation 6.19
avec n = 1 :
21 Qapp (0,05) − Qapp (0,1)
f ′ (0) ≃
21 − 1
= (2)(1,025 421 9) − 1,051 709 18 = 0,999 134 62
qui est une approximation d’ordre 2 et donc plus précise de f ′ (0). De même,
si l’on utilise une différence centrée d’ordre 2, on obtient pour h = 0,05 :
′ e0,05 − e−0,05
f (0) ≃ = 1,000 4167
2(0,05)
et avec h = 0,025 :
e0,025 − e−0,025
f ′ (0) ≃ = 1,000 104 18
2(0,025)
Remarque 6.9
Des exemples précédents, on conclut qu’il vaut mieux éviter d’utiliser des va-
leurs de h très petites pour calculer une dérivée à l’aide d’une formule de
différences finies. Il est en effet préférable de choisir une valeur de h pas trop
petite et de faire des extrapolations de Richardson. !
où pn (x) est un polynôme d’interpolation et En (x) est l’erreur qui y est asso-
ciée. En faisant varier la valeur de n, on obtient les formules de Newton-Cotes.
En principe, plus n est élevé, plus grande est la précision liée à la valeur de
l’intégrale recherchée. En pratique cependant, on emploie rarement des valeurs
de n supérieures à 4.
Par ailleurs, l’extrapolation de Richardson, alliée judicieusement à l’une
des formules de Newton-Cotes, conduit à la méthode de Romberg, l’une des
techniques d’intégration numérique les plus précises. Enfin, nous traitons des
quadratures de Gauss-Legendre, très fréquemment utilisées dans les méthodes
numériques plus avancées comme celle des éléments finis (voir Reddy, réf. [31]).
où f (x) est une fonction connue seulement en deux points ou encore une fonc-
tion n’ayant pas de primitive. La solution qui vient tout de suite à l’esprit
consiste à remplacer f (x) par le polynôme de degré 1 passant par les points
(x0 , f (x0 )) et (x1 , f (x1 )) comme l’illustre la figure 6.2.
Différentiation et intégration numériques 305
f (x)
f (x1 )
f (x0 )
x0 x1 x
Le premier terme de droite n’est rien d’autre que l’aire du trapèze de la fi-
gure 6.2, tandis que le deuxième terme est l’erreur commise. Le changement
de variable 5.25 permet d’écrire :
x − x0
s=
h
d’où l’on tire que (x−xi ) = (s−i)h et que dx = hds. Le terme d’erreur devient
306 Chapitre 6
alors :
! x1 ! 1
f ′′ (ξ(x)) f ′′ (ξ(s))
(x − x0 )(x − x1 )dx = s(s − 1)h3 ds
x0 2! 0 2!
Théorème 6.10
Soit f1 (x), une fonction continue dans l’intervalle [a , b] et f2 (x), une fonction
intégrable qui ne change pas de signe dans l’intervalle [a , b]. Il existe alors
η ∈ [a , b] tel que :
! b ! b
f1 (x)f2 (x)dx = f1 (η) f2 (x)dx (6.22)
a a
⋆
Comme la fonction (s(s − 1)) ne change pas de signe dans [0 , 1], on peut
mettre à profit ce théorème, ce qui donne :
! 1 ! 1
f ′′ (ξ(s)) 3 f ′′ (η) 3 f ′′ (η) 3
s(s − 1)h ds = h s(s − 1)ds = − h
0 2! 2! 0 12
Exemple 6.11
Il s’agit d’évaluer numériquement :
! π
2
sin xdx
0
qui est une piètre approximation de la valeur exacte 1. Ce résultat peu im-
pressionnant vient du fait que l’on approche la fonction sin x dans l’intervalle
[0 , π2 ] au moyen d’un polynôme de degré 1. Cette approximation est assez
médiocre, comme en témoigne la figure 6.3. "
Différentiation et intégration numériques 307
1,0
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
π
0 2
b−a
h= (6.24)
n
Les différents points engendrés sont notés xi pour i = 0, 1, 2, · · · , n. Les valeurs
aux extrémités sont a = x0 et b = xn . Dans chaque sous-intervalle [xi , xi+1 ],
on peut utiliser la méthode du trapèze. On a alors :
! b $ ! xi+1
n−1 n−1
$ h
f (x)dx = f (x)dx ≃ [f (xi ) + f (xi+1 )]
a xi 2
i=0 i=0
h
= ([f (x0 ) + f (x1 )] + [f (x1 ) + f (x2 )] + · · ·
2
+ [f (xn−2 ) + f (xn−1 )] + [f (xn−1 ) + f (xn )])
On remarque que tous les termes f (xi ) sont répétés deux fois, sauf le premier
et le dernier. On en conclut que :
! b
h
f (x)dx ≃ (f (x0 ) + 2 [f (x1 ) + f (x2 ) + · · · + f (xn−1 )] + f (xn )) (6.25)
a 2
qui est la formule des trapèzes composée. Qu’en est-il du terme d’erreur ? Dans
chacun des n sous-intervalles [xi , xi+1 ], on commet une erreur liée à la méthode
du trapèze. Puisque :
(b − a) (b − a)
h= et donc n =
n h
308 Chapitre 6
f (x)
···
a = x0 x1 x2 x3 · · · xn−2 xn−1 xn = b x
Remarque 6.12
Le raisonnement précédent n’est pas parfaitement rigoureux, même si le ré-
sultat final est juste. En effet, dans chaque sous-intervalle [xi , xi+1 ], l’erreur
liée à la méthode du trapèze simple devrait faire intervenir f ′′ (ηi ), c’est-à-dire
une valeur de η différente pour chaque sous-intervalle. Un autre théorème de
la moyenne est alors nécessaire pour conclure (voir Burden et Faires, réf. [5]).
L’erreur globale étant donnée par :
(b − a) ′′
− f (η)h2 pour η ∈ [a , b] (6.26)
12
la méthode des trapèzes composée est d’ordre 2. !
Exemple 6.13
On reprend le calcul de :
! π
2
I= sin xdx
0
mais cette fois à l’aide de la méthode des trapèzes composée. Soit d’abord
4 intervalles de longueur :
( π2 − 0) π
h= =
4 8
Différentiation et intégration numériques 309
soit une erreur absolue d’environ 0,012 88 par rapport à la solution exacte. On
constate une nette amélioration en comparaison du résultat obtenu avec un seul
intervalle. Il est intéressant de refaire ce calcul avec 8 intervalles (fig. 6.5b). La
valeur de h est maintenant 16 π
et l’on a :
! π π ( ,
2
16 π π 3π
sin xdx ≃ sin 0 + 2 sin
+ sin + sin
0 2 16 8 16
- )
π 5π 3π 7π π
+ sin + sin + sin + sin + sin
4 16 8 16 2
= 0,996 7852
L’erreur absolue a été réduite à 0,0032. Cette erreur absolue est environ 4 fois
plus petite que l’erreur obtenue avec 4 intervalles, ce qui confirme que cette
méthode est d’ordre 2. On peut de plus utiliser l’extrapolation de Richardson
pour améliorer la précision de ces deux résultats. En utilisant l’équation 6.19
avec n = 2, on obtient l’approximation d’ordre au moins 3 suivante :
! π
2 22 (0,996 7852) − 0,987 1158
sin xdx ≃ = 1,000 008 33
0 22 − 1
Remarque 6.14
La méthode du trapèze avec un seul intervalle est également connue sous le
nom de méthode des trapèzes simple. !
Remarque 6.15
La méthode des trapèzes composée est d’ordre 2. La méthode des trapèzes
simple, bien que d’ordre 3, est rarement utilisée, car elle est trop imprécise. !
Remarque 6.16
La méthode des trapèzes composée donne un résultat exact si la fonction f (x)
est un polynôme de degré inférieur ou égal à 1. Cela s’explique par la présence
de la dérivée seconde de f (x) dans le terme d’erreur : celle-ci s’annule dans le
cas de polynômes de degré 1. !
310 Chapitre 6
1,0
0,9
0,8
0,7
0,6
a) 0,5
0,4
0,3
0,2
0,1
0 π π 3π π
0 8 4 8 2
1,0
0,9
0,8
0,7
0,6
b) 0,5
0,4
0,3
0,2
0,1
0 π π 3π π 5π 3π 7π π
0 16 8 16 4 16 8 16 2
Définition 6.17
Les formules d’intégration numérique sont également appelées formules de
quadrature.
Définition 6.18
Le degré d’exactitude ou encore le degré de précision d’une formule de qua-
drature est le plus grand entier n pour lequel la formule de quadrature est
exacte pour tout polynôme de degré inférieur ou égal à n.
Remarque 6.19
Le degré d’exactitude de la formule des trapèzes est 1. !
Différentiation et intégration numériques 311
h
= (f (x0 ) + 4f (x1 ) + f (x2 ))
3
où l’on a remplacé les différences divisées par leur valeur respective :
qui est la formule de Simpson 1/3 simple. Cette terminologie est due au facteur
de 13 qui multiplie h.
L’analyse de l’erreur est plus délicate dans ce cas. On s’est vite rendu
compte que la méthode de Simpson 1/3 était plus précise que ce que l’on
escomptait. Une analyse plus fine est donc nécessaire. Cette méthode est basée
sur l’utilisation d’un polynôme de degré 2 et l’on devrait s’attendre à ce que
l’erreur soit donnée par : ! x2
E2 (x)dx
x0
312 Chapitre 6
(f (x3 ) − p2 (x3 ))
p3 (x) = p2 (x) + (x − x0 )(x − x1 )(x − x2 ) (6.27)
(x3 − x0 )(x3 − x1 )(x3 − x2 )
qui n’est rien d’autre que le polynôme de degré 2 déjà utilisé auquel on ajoute
une correction de degré 3 permettant au polynôme de passer également par le
point (x3 , f (x3 )). Or :
! x2 ! 2
(x − x0 )(x − x1 )(x − x2 )dx = s(s − 1)(s − 2)h4 ds = 0
x0 0
où η ∈ [x0 , x2 ].
Différentiation et intégration numériques 313
0,00
-0,05
-0,10
-0,15
-0,20
-0,25
0 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2,0
Remarque 6.20
Choisir comme nous l’avons fait x3 = x1 dans l’équation 6.27 n’est pas tout
à fait immédiat. En effet, on constate facilement que le dernier terme de la
relation 6.27 devient singulier. En fait, il faut faire un passage à la limite
comme suit :
lim p3 (x) = lim p2 (x)+
x3 →x1 x3 →x1
(f (x3 ) − p2 (x3 ))(x − x0 )(x − x1 )(x − x2 )
lim
x3 →x1 (x3 − x0 )(x3 − x1 )(x3 − x2 )
= p2 (x)+
(x − x0 )(x − x1 )(x − x2 ) (f (x3 ) − p2 (x3 ))
lim lim
x3 →x1 (x3 − x0 )(x3 − x2 ) x3 →x1 (x3 − x1 )
(f (x1 + h′ ) − p2 (x1 + h′ ))
= lim
h →0′ h′
. / . /
f (x1 ) + f ′ (x1 )h′ + O(h′2 ) − p2 (x1 ) + p′2 (x1 )h′ + O(h′2 )
= lim
h′ →0 h′
314 Chapitre 6
Puisque f (x1 ) = p2 (x1 ), on obtient finalement que L = f ′ (x1 ) − p′2 (x1 ), ce qui
entraîne que :
(x − x0 )(x − x1 )(x − x2 )
lim p3 (x) = p2 (x) + (f ′ (x1 ) − p′2 (x1 ))
x3 →x1 (x1 − x0 )(x1 − x2 )
Remarque 6.21
La valeur de h exprime toujours la distance entre les points xi , c’est-à-dire
qu’elle équivaut dans ce cas à la longueur de l’intervalle divisée par 2. !
La méthode de Simpson 1/3 simple est peu précise, tout comme la méthode
du trapèze, comme en témoigne l’exemple suivant.
Exemple 6.22
On reprend une fois de plus le calcul des exemples précédents. Pour la fonction
f (x) = sin x dans l’intervalle [0 , π2 ], on a :
! * π+
π π
2
4 π
sin xdx ≃ sin 0 + 4 sin + sin = 1,002 2799
0 3 4 2
! b $ ! x2i+2
n−1 n−1
$ h
f (x)dx = f (x)dx ≃ (f (x2i ) + 4f (x2i+1 ) + f (x2i+2 ))
a x2i 3
i=0 i=0
h
= ((f (x0 ) + 4f (x1 ) + f (x2 )) + (f (x2 ) + 4f (x3 ) + f (x4 )) + · · ·
3
+ (f (x2n−4 ) + 4f (x2n−3 ) + f (x2n−2 ))
h
= (f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + 2f (x4 ) + · · ·
3
+ 4f (x2n−3 ) + 2f (x2n−2 ) + 4f (x2n−1 ) + f (x2n ))
Différentiation et intégration numériques 315
f (x)
...
Tous les termes de rang impair sont multipliés par 4 tandis que ceux de rang
pair sont multipliés par 2, sauf le premier (f (x0 )) et le dernier (f (x2n )).
L’analyse de l’erreur liée à la méthode de Simpson 1/3 composée est simi-
laire à celle qui s’applique à la méthode des trapèzes composée. En divisant
[a , b] en 2n intervalles, on utilise n fois la méthode de Simpson 1/3 simple et
l’on commet donc n fois l’erreur liée à cette méthode. On a alors :
b−a b−a
h= et donc n =
2n 2h
et l’erreur totale est :
0 1 0 1
f (4) (η) 5 (b − a) f (4) (η) 5 (b − a) (4)
n − h =− h =− f (η)h4
90 2h 90 180
Remarque 6.23
Le terme d’erreur de la méthode de Simpson 1/3 composée est :
(b − a) (4)
− f (η)h4 pour un certain η ∈ [a , b] (6.29)
180
ce qui en fait une méthode d’ordre 4. De plus, en raison de la présence de la
dérivée quatrième de f (x), cette méthode est exacte dans le cas des polynômes
de degré 3. Le degré d’exactitude de cette méthode est donc 3. !
316 Chapitre 6
Exemple 6.24
On divise l’intervalle [0 , π2 ] en 4 sous-intervalles de longueur h = π8 . On a
alors :
! π π ( )
2 π π 3π π
sin xdx ≃ 8 sin 0 + 4 sin + 2 sin + 4 sin + sin
0 3 8 4 8 2
= 1,000 1346
Pour une quantité de travail similaire, on obtient une précision supérieure à
π
celle de la méthode des trapèzes. Avec 8 sous-intervalles de longueur 16 , on a :
! π π (
2
16 π π 3π
sin xdx ≃ sin 0 + 4 sin + 2 sin + 4 sin
0 3 16 8 16
)
π 5π 3π 7π π
+ 2 sin + 4 sin + 2 sin + 4 sin + sin
4 16 8 16 2
Exemple 6.25
On doit calculer : ! 1
2
e−x dx
0
à l’aide de la méthode de Simpson 1/3 composée avec 8 intervalles de longueur :
1−0 1
=
8 8
2
Comme la fonction e−x n’a pas de primitive, il faut absolument utiliser une
méthode numérique. Dans ce cas :
! 1 1
−x2
(e0 + 4e−0,125 + 2e−0,25 + 4e−0,375 + 2e−0,5
2 2 2 2
8
e dx ≃
0 3
Il est intéressant de poursuivre les calculs un peu plus loin et de comparer une
fois de plus les méthodes des trapèzes et de Simpson 1/3 composées. En pre-
nant 64 intervalles et en travaillant en double précision, on obtient les valeurs
suivantes.
21 2
Calcul de 0 e−x dx
Méthode des trapèzes composée 0,746 809 163
Méthode de Simpson 1/3 composée 0,746 824 133
Solution exacte à 9 chiffres 0,746 824 133
b−a
h=
3n
et en utilisant la formule de Simpson 3/8 simple dans chaque triplet de sous-
intervalle. On obtient alors :
! b $ ! x3i+3
n−1
f (x)dx = f (x)dx
a i=0 x3i
n−1
$ 3h
≃ (f (x3i ) + 3f (x3i+1 ) + 3f (x3i+2 ) + f (x3i+3 ))
8
i=0
3h
= (f (x0 ) + 3f (x1 ) + 3f (x2 ) + 2f (x3 ) + 3f (x4 ) + · · ·
8
+ 2f (x3n−3 ) + 3f (x3n−2 ) + 3f (x3n−1 ) + f (x3n ))
318 Chapitre 6
et le terme d’erreur :
0 1
3f (4) (η) 5 (b − a) 3f (4) (η) 5 (b − a)f (4) (η) 4
n − h =− h =− h
80 3h 80 80
Remarque 6.26
La méthode de Simpson 3/8 composée a le même ordre de convergence (4) et le
même degré d’exactitude (3) que la méthode de Simpson 1/3 composée. Pour
cette raison, on lui préfère souvent la méthode de Simpson 1/3. !
Formule de Boole
Si l’on a au départ un polynôme de degré 4 dans l’intervalle [x0 , x4 ] dont
la courbe passe par les points ((xi , f (xi )) pour i = 0, 1, 2, 3, 4), la formule de
Boole simple s’écrit :
! x4
2h
f (x)dx = (7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 ))
x0 45
8f (6) (η) 7
− h
945
(6.31)
pour un certain η ∈ [x0 , x4 ]. On compose cette méthode en divisant cette fois
l’intervalle d’intégration [a , b] en 4n sous-intervalles de longueur :
b−a
h=
4n
et en utilisant la formule de Boole simple dans chaque quadruplet de sous-
intervalle. On obtient alors :
! b $ ! x4i+4
n−1
f (x)dx = f (x)dx
a i=0 x4i
n−1
$ 2h
≃ (7f (x4i ) + 32f (x4i+1 ) + 12f (x4i+2 )
45
i=0
2h
= (7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 14f (x4 ) + · · ·
45
+ 32f (x4n−5 ) + 14f (x4n−4 ) + 32f (x4n−3 ) + 12f (x4n−2 )
Remarque 6.27
En ce qui concerne l’erreur, il se produit un phénomène déjà observé avec la
formule de Simpson 1/3 en ce sens que la formule de Boole conduit à une
approximation d’ordre 6 au lieu de 5. La méthode de Boole a de plus un
degré d’exactitude de 5 puisqu’elle est exacte pour tous les polynômes de degré
inférieur ou égal à 5. !
(b − a) ′′
− f (η)h2 = c2 h2 + c4 h4 + c6 h6 + · · ·
12
où les ci sont des constantes. L’information supplémentaire que l’on tire de
cette relation est que seuls les termes d’ordre pair sont présents. L’absence
des puissances impaires de h permet, du point de vue de l’extrapolation de
Richardson, de gagner deux ordres de convergence à chaque extrapolation.
De plus, les valeurs extrapolées, qui sont d’ordre 4, peuvent à leur tour être
extrapolées pour passer à l’ordre 6, et ainsi de suite. Cette utilisation systé-
matique de l’extrapolation de Richardson permet d’obtenir successivement des
approximations de :
! b
f (x)dx
a
Remarque 6.28
On peut montrer (voir les exercices de fin de chapitre) que la deuxième ligne
de ce tableau n’est autre que le résultat de la méthode de Simpson 1/3 avec
respectivement 2, 4, 8 · · · intervalles. On pourrait donc éliminer la première
ligne et commencer directement avec la méthode de Simpson. !
Exemple 6.29
On a déjà obtenu, lors de calculs précédents, les valeurs T1,1 = 0,785 3982,
T1,3 = 0,987 1158 et T1,4 = 0,996 7852 correspondant à la formule des trapèzes
composée avec respectivement 1, 4 et 8 intervalles pour évaluer :
! π
2
sin xdx
0
Il est alors possible de remplir la première ligne du tableau en calculant :
π *
π π+
T1,2 = 4 sin 0 + 2 sin + sin = 0,948 0594
2 4 2
On peut ensuite effectuer les différentes extrapolations de Richardson.
! π
2
Méthode de Romberg : sin xdx
0
0,785 3982 0,948 0594 0,987 1158 0,996 7852 (ordre 2)
La première ligne du tableau étant d’ordre 2, la deuxième ligne est donnée par :
(22 )(0,948 0594) − 0,785 3982
= 1,002 2799
22 − 1
Exemple 6.30
Soit une fonction f (x) connue seulement pour quelques valeurs de x.
Méthode de Romberg
0,320 4500 0,336 2750 0,340 0875 (ordre 2)
0,341 5500 0,341 3583 (ordre 4)
0,341 3456 (ordre 6)
Les autres lignes du tableau sont tirées elles aussi des relations 6.32 et 6.33 :
(22 )(0,336 275) − 0,320 450
T2,1 = = 0,341 5500
22 − 1
Remarque 6.31
Dans le cas d’une fonction connue seulement en certains points, comme dans
l’exemple précédent, le nombre de points doit être de la forme 2n + 1 pour
que la méthode de Romberg puisse s’appliquer. En effet, il faut que le nombre
de sous-intervalles soit une puissance de 2. Dans l’exemple précédent, on avait
22 + 1 points et 4 intervalles. !
où : ( )
(b − a)t + (a + b)
g(t) = f
2
Il est donc toujours possible de revenir à l’intervalle [−1 , 1]. De manière
générale, on cherche des expressions de la forme :
! 1 $ n
g(t)dt ≃ wi g(ti ) (6.35)
−1 i=1
Définition 6.32
L’expression 6.35 est appelée quadrature de Gauss-Legendre à n points. Les ti
sont appelés points d’intégration, tandis que les coefficients wi sont les poids
d’intégration.
il suffit que la relation 6.35 soit exacte successivement pour les monômes g(t) =
tk , pour k = 0, 1, 2, · · · , m qui constituent une base de l’espace des polynômes
de degré m. On gagne alors à accroître le plus possible le degré m. Le degré
maximal atteint dépend du nombre de points d’intégration n. Puisqu’il y a 2n
coefficients à déterminer dans l’équation 6.35, il est raisonnable de penser que
l’on peut atteindre le degré m = (2n − 1). La valeur de k varie donc entre 0 et
2n − 1.
324 Chapitre 6
qui soit exacte dans le cas des polynômes de degré le plus élevé possible. Com-
mençons par les polynômes de degré 0. La formule 6.36 doit être exacte pour
g(t) = 1, ce qui donne une première équation :
! 1
1dt = 2 = w1
−1
et l’unique poids d’intégration est déjà déterminé. L’équation 6.35 doit de plus
être exacte pour g(t) = t. On trouve donc :
! 1
tdt = 0 = w1 t1 = 2t1
−1
Remarque 6.33
La quadrature de Gauss-Legendre à 1 point a le même degré d’exactitude (1)
que la méthode du trapèze, qui est une formule à 2 points. La quadrature de
Gauss-Legendre à 1 point est également connue sous le nom de formule du
point milieu. !
résultantes sont :
! 1
1dt = 2 = w1 + w2 (6.38)
−1
! 1
tdt = 0 = w1 t1 + w2 t2 (6.39)
−1
! 1
2
t2 dt = = w1 t21 + w2 t22 (6.40)
−1 3
! 1
t3 dt = 0 = w1 t31 + w2 t32 (6.41)
−1