Chapitre 7 : Intégration numérique
Transcription
Chapitre 7 : Intégration numérique
Chapitre 7 : Intégration numérique 1 Intégration numérique des fonctions à une variable Généralités Formule des trapèzes Formule de Simpson Formules de Newton-Cotes Dépendance de l’erreur en h : exemples Méthode de Romberg 2 Intégration numérique des fonctions à plusieurs variables 1/9 Généralités (fonctions à une variable) Problème : L’intégration numérique d’une fonction intégrable f à une variable sur l’intervalle [a, b] consiste à déterminer une approximation numérique de Z b f (x)dx . a La tâche est souvent divisée en deux parties : 1 Subdiviser l’intervalle d’intégration [a, b] en sous-intervalles [x , x i i+1 ], i = 1, . . . , m − 1 avec a = x1 < x2 < · · · < xm = b , et réduire l’intégrale sur [a, b] à une somme d’intégrales sur [xi , xi+1 ] Z b m−1 X Z xi+1 f (x)dx . f (x)dx = a 2 i=1 xi Evaluer les intégrales dans la somme séparément, en remplaçant la fonction f (x) par une approximation facile à intégrer. Cette dernière résulte souvent d’une interpolation polynomiale (cf. chapitre précédent). 2/9 Formule des trapèzes La formule des trapèzes s’obtient en approy chant f sur chaque sous-intervalle [xi , xi+1 ] 1 par une interpolation linéaire aux points xi et xi+1 ; on a donc, en notant fk = f (xk ) , k = i, i + 1 , et hi = xi+1 − xi , 0.5 Z xi+1 hi (fi + fi+1 ) . f (x)dx ≈ 0 2 xi x1 Cette formule est exacte pour tout polynôme de degré au plus 1. f3 sin2 (xπ/2) f2 x2 x3 x4 x5 x h2 Pour une intégrale sur l’entièreté de l’intervalle [a, b] la formule des trapèzes correspond, pour les sous-intervalles hi = h , i = 1, ..., m − 1 , de même taille, à Z b f (x)dx = a m−1 X Z xi+1 i=1 xi f (x)dx ≈ h (f1 + 2f2 + · · · + 2fm−1 + fm ) . 2 3/9 Formule des trapèzes y La formule des trapèzes s’obtient en approchant f sur chaque sous-intervalle [xi , xi+1 ] 1 par une interpolation linéaire aux points xi et xi+1 ; on a donc, en notant fk = f (xk ) , 0.5 k = i, i + 1 , et hi = xi+1 − xi , Z xi+1 0 hi x1 (fi + fi+1 ) + Eloc (hi ) . f (x)dx = 2 xi f3 sin2 (xπ/2) f2 x2 x3 x4 x5 x h2 Erreur locale : Si f ∈ C 2 , alors il existe un c ∈]xi , xi+1 [ tel que 1 3 00 hi f (c) . Eloc (hi ) = − 12 Justification informelle : en utilisant le développement de Taylor on a f (x) = f (xi ) +f 0 (xi )(x − xi ) + 12 f 00 (xi )(x − xi )2 + · · · et donc R xi+1 + R xi+1 xi xi f (x)dx = f (xi )hi + 21 f 0 (xi )h2i + 61 f 00 (xi )h3i + · · · f (xi+1 ) = f (xi ) +f 0 (xi )hi + 21 f 00 (xi )h2i + · · · f (x)dx − 12 f (xi+1 )hi = 1 f (xi )hi 2 1 00 − 12 f (xi )h3i + · · · × − 12 hi 4/9 Formule des trapèzes y La formule des trapèzes s’obtient en approchant f sur chaque sous-intervalle [xi , xi+1 ] 1 par une interpolation linéaire aux points xi et xi+1 ; on a donc, en notant fk = f (xk ) , 0.5 k = i, i + 1 , et hi = xi+1 − xi , Z xi+1 0 hi x1 (fi + fi+1 ) + Eloc (hi ) . f (x)dx = 2 xi f3 sin2 (xπ/2) f2 x2 x3 x4 x5 x h2 Erreur globale : (sans démonstration) Pour une intégrale sur l’entièreté de l’intervalle [a, b] la formule des trapèzes correspond, pour les sous-intervalles hi = h , i = 1, ..., m − 1 , de même taille, à Z b h f (x)dx = (f1 + 2f2 + · · · + 2fm−1 + fm ) + Eglob (hi ), 2 a avec Eglob (hi ) étant l’erreur globale d’intégration. Pour f ∈ C 2 il existe un c ∈]a, b[ tel que Eglob (h) = − 1 (b − a)h2 f 00 (c) . 12 4/9 Formule de Simpson La formule de Simpson s’obtient en approy chant f sur chaque sous-intervalle [xi , xi+1 ] par une interpolation quadratique aux points 1 xi , xi+1/2 = (xi + xi+1 )/2 et xi+1 ; on a donc, en notant fk = f (xk ) pour k = 0.5 i, i + 1/2, i + 1 , et avec hi = xi+1 − xi , Z xi+1 hi 0 (fi + 4fi+1/2 + fi+1 ) . f (x)dx ≈ x1 6 xi Cette formule est exacte pour tout polynôme de degré au plus 3. 1 f2+ 21 f3 sin2 (xπ/2) f2 x2+ 1 2 x2 x3 x4 x5 x h2 Pour une intégrale sur l’entièreté de l’intervalle [a, b] la formule de Simpson correspond, pour les sous-intervalles hi = h , i = 1, ..., m − 1 , de même taille, à Z b f (x)dx = a m−1 X Z xi+1 i=1 xi f (x)dx ≈ m−1 m−1 X X h fi + 4 fi+1/2 + fm ) . (f1 + 2 6 i=1 i=2 1. et pas 2, comme on pourrait s’attendre avec une interpolation quadratique. 5/9 Formules de Newton-Cotes Les formules des trapèzes et de Simpson sont des cas particuliers des formules de Newton-Cotes. Ces dernières sont obtenues en approchant f sur chaque sous-intervalle [xi , xi+1 ] par un polynôme d’interpolation de degré n, ce qui donne Z xi+1 f (x)dx ≈ hi (w1 fi + w2 fi+1/n + · · · + wn fi+(n−1)/n + wn+1 fi+1 ) . xi Les valeurs de wi pour les degrés n ≤ 4 sont : n w1 w2 w3 w4 1 1 2 1 2 2 1 6 4 6 1 6 3 1 8 3 8 3 8 1 8 4 7 90 32 90 12 90 32 90 w5 7 90 deg. exact pol. Eloc (h) Eglob (h) 1 ∼ f 00 h3 ∼ (b − a)f 00 h2 3 ∼ f (4) h5 ∼ (b − a)f (4) h4 3 ∼ f (4) h5 ∼ (b − a)f (4) h4 5 ∼ f (6) h7 ∼ (b − a)f (6) h6 Les grandes valeurs de n, tout comme pour l’interpolation, peuvent mener aux erreurs numériques. 6/9 Dépendance de l’erreur en h : exemples Exemple : Les figures suivantes donnent la différence entre la valeur exacte et l’approximation numérique (obtenue avec les formules de Newton-Cotes pour n = 1, . . . , 4) pour les intégrales suivantes : 1 Z 1 Z x3/2 dx , sin(x)dx , 0 0 en fonction du nombre m − 1 = 2k , 0 ≤ k ≤ 9 , de sous-intervalles utilisés. 100 100 n=1 2 O(h ) 10−2 10−4 10−8 n=2 n=3 O(h4 ) 10−8 n=4 O(h2 ) O(h2.5 ) n=4 10−10 O(h6 ) 101 n=2 n=3 10−6 10−12 10−16 0 10 n=1 10−4 102 10−12 100 101 102 103 Conclusion : L’estimation de l’erreur dépend de la régularité de la fonction à intégrer (sin(x) ∈ C ∞ alors que x3/2 ∈ C 1 ([0, 1]) ). 7/9 Méthode de Romberg On peut montrer (Quarteroni & al, Propriété 8.3) que pour une fonction f ∈ C 2k+2 la méthode de trapèzes produit une approximation I1 (h) qui satisfait Z b I1 (h) = f (x)dx + C1 h2 + C2 h4 + · · · + Ck h2k + o(h2k ) , a et donc, en particulier, Z b I1 (2h) = f (x)dx + C1 4h2 + C2 42 h4 + · · · + Ck 4k h2k + o(h2k ) . a Dès lors 4I1 (h) − I1 (2h) I2 (h) = = 3 Z b f (x)dx− a 12 4k − 4 C2 h4 −· · ·− Ck h2k +o(h2k ) . 3 3 Notons que l’erreur globale de la nouvelle approximation I2 (h) est O(h4 ). De plus, la procédure peut être appliquée de nouveau à I2 (h), ... ; après k applications cela donne : Algorithme :(entrées : a, b, f , k sortie : Ik,k ) % trapezes(a, b, f, m) - méthode de trapèzes pour f sur [a, b] avec m intervalles calculer I1,i = trapezes(a, b, f, 2i−1 ), i = 1, . . . , k pour j = 1, . . . , k − 1 pour i = j + 1, . . . , k Ij+1,i = (4j Ij,i − Ij,i−1 )/(4j − 1) 8/9 Intégration des fonctions à plusieurs variables z Pour intégrer les fonctions f (x, y) à deux variables et plus, on peut : recycler les formules à une variable (grâce au théorème de Fubini) recycler les idées présentées, tout en les appliquant au cas multidimensionnel I la généralisation de la méthode des trapèzes à deux dimensions consiste à approcher le domaine d’intégration par une union de triangles T et d’interpoler la fonction sur chaque triangle par un plan ; pour chaque T cela donne ZZ 1 f (x, y) ≈ aire(T )(f1 + f2 + f3 ) , 3 T où f1 , f2 , f3 sont les valeurs de f aux sommets de T . f (x, y) y x les méthodes Monte-Carlo évaluent la fonction aux points aléatoires et multiplient la moyenne résultante par l’aire du domaine d’intégration ; elles sont efficaces pour intégrer des fonctions à variables multiples (de l’ordre de 6 et plus) R f (x, y0 )dx y x h z f1 utiliser des nouvelles approches I vol ≈ h z f2 f3 y T x vol ≈ 1 3 aire(T )(f1 +f2 +f3 ) 9/9