• Aucun résultat trouvé

M´ethodes de Newton-Cotes

Int´egrer et diff´erentier des fonctions

6.2 Int´egrer des fonctions d’une variable

6.2.1 M´ethodes de Newton-Cotes

Dans les m´ethodes de Newton-Cotes, f(·) est ´evalu´ee en N +1 points r´eguli`erement espac´es xi, i= 0,··· ,N, tels que x0= a et xN= b, de sorte que

xi= a + ih, i= 0, 1,··· ,N, (6.5) avec

h=b− a

N . (6.6)

L’intervalle[a, b] est partitionn´e en sous-intervalles de mˆeme largeur kh, et k doit donc diviser N. Chaque sous-intervalle contient k+ 1 points d’´evaluation, ce qui permet de remplacer f(·) sur ce sous-intervalle par un polynˆome interpolateur de degr´e k. La valeur de l’int´egrale d´efinie I est alors approxim´ee par la somme des int´egrales des polynˆomes interpolateurs sur les sous-intervalles pour lesquels ils sont utilis´es.

Remarque 6.2.Le probl`eme initial a ainsi ´et´e remplac´e par un probl`eme approch´e qui peut ˆetre r´esolu de fac¸on exacte (au moins d’un point de vue math´ematique).  Remarque 6.3.Espacer les points d’´evaluation de fac¸on r´eguli`ere n’est pas forc´ement une si bonne id´ee que cela (voir les sections 6.2.3 et 6.2.4). 

L’int´egrale du polynˆome interpolateur sur le sous-intervalle[x0, xk] peut s’´ecrire ISI(k) = h

k

j=0

cjf(xj), (6.7) o`u les coefficients cj d´ependent seulement de l’ordre k du polynˆome, et la mˆeme formule s’applique `a tous les autres sous-intervalles, apr`es incr´ementation des in-dices.

Dans ce qui suit, la m´ethode de Newton-Cotes fond´ee sur un polynˆome interpola-teur d’ordre k est not´ee NC(k), et f(xj) est not´e fj. Comme les xjsont r´eguli`erement r´epartis, k doit ˆetre petit. L’erreur de m´ethode locale commise par NC(k) sur[x0, xk] est

eNC(k) =

Z xk x0

f(x)dx− ISI(k), (6.8) et l’erreur de m´ethode globale sur[a, b], not´ee ENC(k), est obtenue en sommant les erreurs de m´ethode locales commises sur tous les sous-intervalles.

Des preuves des r´esultats concernant les valeurs de eNC(k) et ENC(k) pr´esent´es ci-dessous peuvent ˆetre trouv´ees dans [64]. Dans ces r´esultats, f(·) est bien sˆur suppos´ee diff´erentiable jusqu’`a l’ordre requis.

6.2.1.1 NC(1) : M´ethode des trap`ezes

Un polynˆome interpolateur du premier ordre requiert deux points d’´evaluation par sous-intervalle (un `a chaque extr´emit´e). L’interpolation est alors affine par mor-ceaux, et l’int´egrale de f(·) sur [x0, x1] est ´evalu´ee par la r`egle des trap`ezes

ISI=h

2( f0+ f1) =b− a

2N ( f0+ f1). (6.9) Toutes les extr´emit´es des sous-intervalles sont utilis´ees deux fois lors de l’´evaluation de I, sauf x0et xN, de sorte que

I≈b− aN f0+ f2 N + N−1

i=1 fi ! . (6.10) L’erreur de m´ethode locale satisfait

eNC(1) =−121 f¨(η)h3, (6.11) pour un η∈ [x0, x1], et l’erreur de m´ethode globale est telle que

ENC(1) =−b12− af¨(ζ )h2, (6.12) pour un ζ∈ [a,b]. L’erreur de m´ethode globale sur I est donc en O(h2). Si f (·) est un polynˆome de degr´e au plus ´egal `a un, alors ¨f(·) ≡ 0 et il n’y a pas d’erreur de m´ethode, ce qui n’a rien de surprenant.

Remarque 6.4.La r`egle des trap`ezes peut aussi ˆetre utilis´ee avec des xiirr´eguli`erement espac´es, en posant I≈12N−1

i=0 (xi+1− xi)· ( fi+1+ fi). (6.13)  6.2.1.2 NC(2) : M´ethode de Simpson 1/3

Un polynˆome interpolateur du second degr´e requiert trois points d’´evaluation par sous-intervalle. L’interpolation est alors parabolique par morceaux, et

ISI=1

3h( f0+ 4 f1+ f2). (6.14) Le 1/3 dans le nom de la m´ethode vient du coefficient de tˆete dans (6.14). On peut montrer que

pour un η∈ [x0, x2], et que

ENC(2) =−b180− af(4)(ζ )h4, (6.16) pour un ζ∈ [a,b]. L’erreur de m´ethode globale sur I avec NC(2) est donc en O(h4), ce qui est bien mieux qu’avec NC(1). A cause d’une simplification heureuse, il n’y a pas d’erreur de m´ethode si f(·) est un polynˆome de degr´e au plus ´egal `a trois, et pas juste deux comme on aurait pu s’y attendre.

6.2.1.3 NC(3) : M´ethode de Simpson 3/8

Un polynˆome interpolateur de degr´e trois conduit `a

ISI=3

8h( f0+ 3 f1+ 3 f2+ f3). (6.17) Le 3/8 dans le nom de la m´ethode vient du coefficient de tˆete dans (6.17). On peut montrer que

eNC(3) =−803 f(4)(η)h5, (6.18) pour un η∈ [x0, x3], et que

ENC(3) =−b80− af(4)(ζ )h4, (6.19) pour un ζ∈ [a,b]. L’erreur globale de m´ethode sur I avec NC(3) est donc en O(h4), comme avec NC(2), et on ne semble pas avoir gagn´e quoi que ce soit en augmentant l’ordre du polynˆome interpolateur. Comme avec NC(2), il n’y a pas d’erreur de m´ethode si f(·) est un polynˆome de degr´e au plus ´egal `a trois, mais pour NC(3) ceci n’a plus rien de surprenant.

6.2.1.4 NC(4) : M´ethode de Boole

Un polynˆome interpolateur d’ordre quatre conduit `a

ISI= 2

45h(7 f0+ 32 f1+ 12 f2+ 32 f3+ 7 f4). (6.20) On peut montrer que

eNC(4) =−9458 f(6)(η)h7, (6.21) pour un η∈ [x0, x4], et que

pour un ζ∈ [a,b]. L’erreur de m´ethode globale sur I avec NC(4) est donc en O(h6). Grˆace `a une nouvelle simplification heureuse, il n’y a pas d’erreur de m´ethode si

f(·) est un polynˆome de degr´e au plus ´egal `a cinq.

Remarque 6.5.Un examen rapide des formules pr´ec´edentes pourrait sugg´erer que

ENC(k) = b− a

kh eNC(k), (6.23) ce qui semble naturel puisqu’il y a(b− a)/kh sous-intervalles. Notons cependant que la valeur de ζ dans l’expression de ENC(k) diff`ere en g´en´eral de celle de η dans l’expression de eNC(k). 

6.2.1.5 R´egler le pas d’une m´ethode de Newton-Cotes

La taille h du pas doit ˆetre suffisamment petite pour que la pr´ecision soit ac-ceptable, mais pas trop petite car cela augmenterait inutilement le nombre des op´erations. La proc´edure suivante peut ˆetre utilis´ee pour ´evaluer l’erreur de m´ethode et la maintenir `a un niveau acceptable en r´eglant la taille du pas.

Soit bI(h, m) la valeur obtenue pour I quand la taille du pas est h et l’erreur de m´ethode est en O(hm). Alors,

I= bI(h, m) + O(hm). (6.24) En d’autres termes,

I= bI(h, m) + c1hm+ c2hm+1+··· (6.25) Quand on divise la taille du pas par deux, il vient

I= bI h 2, m  + c1  h 2 m + c2  h 2 m+1 +··· (6.26) Au lieu de combiner (6.25) et (6.26) pour ´eliminer le premier terme de l’erreur de m´ethode, comme le sugg´ererait l’extrapolation de Richardson, utilisons la diff´erence entre bI(h, m) et bI h2, m pour obtenir une estim´ee grossi`ere de l’erreur de m´ethode globale pour le plus petit pas. Soustrayons(6.26) de (6.25) pour obtenir

b I(h, m)− bI h2, m  = c1  h 2 m (1− 2m) + O(hk), (6.27) avec k> m. Ainsi, c1 h 2 m =I(h, m)b − bI h 2, m 1− 2m + O(hk). (6.28) Cette estim´ee peut ˆetre utilis´ee pour d´ecider s’il est souhaitable de rediviser par deux la taille du pas. Une proc´edure similaire peut ˆetre employ´ee pour adapter la taille du

pas dans le contexte de la r´esolution d’´equations diff´erentielles ordinaires (voir la section 12.2.4.2).