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

Documents pareils