122
4 Intégration et différentiation numérique
Table 4.1. Noeuds et poids de quelques formules de quadrature de type GaussLegendre sur l’intervalle [−1, 1]. Les poids correspondant à des couples de
noeuds symétriques ne sont indiqués qu’une fois
n
{¯ yj}
{ ¯
αj}
1
±1/
√
3
1
1
{1}
2
±
√
15/5, 0
1
1
{5/9, 8/9}
3
±(1/35)
525 − 70
√
30,
(1/36)(18 +
√
30),
1
1
±(1/35)
525 + 70
√
30
1
1
(1/36)(18 −
√
30)
4
0, ±(1/21)
245 − 14
√
70
1
1
128/225, (1/900)(322 + 13
√
70)
±(1/21)
245 + 14
√
70
1
1
(1/900)(322 − 13
√
70)
Table 4.2. Les noeuds et les poids de quelques formules de quadrature de
Gauss(-Legendre)-Lobatto sur l’intervalle [−1, 1]. Les poids correspondant aux
couples de noeuds symétriques ne sont indiqués qu’une fois
n
{¯ yj }
{ ¯
αj}
1
{±1}
{ 1}
2
{±1, 0}
{ 1/3, 4/3}
3
{±1, ±
√
5/5}
{ 1/6, 5/6}
4
{±1, ±
√
21/7, 0}
{1/10, 49/90, 32/45}
y 0 = −1, y n = 1, y j zéros de L
n (x), j = 1, . . . , n − 1
(4.28)
α j =
2
n(n + 1)
1
[L n (¯ y j )] 2 ,
j = 0, . . ., n.
Si f ∈ C
(2n) ([−1, 1]), l’erreur correspondante est donnée par
I(f) − I GLL (f) = −
(n + 1)n
3 2
2n+1 ((n − 1)!)
4
(2n + 1)((2n)!) 3
f
(2n) (ξ),
pour un ξ ∈] − 1, 1[. Dans la Table 4.2, on donne les noeuds et les poids
sur l’intervalle de référence [−1, 1] pour n = 1, 2, 3, 4. (Pour n = 1 on
retrouve la formule du trapèze.)
On peut calculer une intégrale dans MATLAB avec une formule
de Gauss-Lobatto-Legendre en utilisant l’instruction quadl(fun,a,b).
quadl
La fonction fun peut être un objet inline. Par exemple, pour intégrer
f(x) = 1/x sur [1, 2], on doit d’abord définir la fonction fun :
fun=inline(’1./x’,’x’);
puis appeler quadl(fun,1,2). Remarquer que dans la définition de la
fonction f on a utilisé une opération “élément par élément” (MATLAB
4 Intégration et différentiation numérique
Table 4.1. Noeuds et poids de quelques formules de quadrature de type GaussLegendre sur l’intervalle [−1, 1]. Les poids correspondant à des couples de
noeuds symétriques ne sont indiqués qu’une fois
n
{¯ yj}
{ ¯
αj}
1
±1/
√
3
1
1
{1}
2
±
√
15/5, 0
1
1
{5/9, 8/9}
3
±(1/35)
525 − 70
√
30,
(1/36)(18 +
√
30),
1
1
±(1/35)
525 + 70
√
30
1
1
(1/36)(18 −
√
30)
4
0, ±(1/21)
245 − 14
√
70
1
1
128/225, (1/900)(322 + 13
√
70)
±(1/21)
245 + 14
√
70
1
1
(1/900)(322 − 13
√
70)
Table 4.2. Les noeuds et les poids de quelques formules de quadrature de
Gauss(-Legendre)-Lobatto sur l’intervalle [−1, 1]. Les poids correspondant aux
couples de noeuds symétriques ne sont indiqués qu’une fois
n
{¯ yj }
{ ¯
αj}
1
{±1}
{ 1}
2
{±1, 0}
{ 1/3, 4/3}
3
{±1, ±
√
5/5}
{ 1/6, 5/6}
4
{±1, ±
√
21/7, 0}
{1/10, 49/90, 32/45}
y 0 = −1, y n = 1, y j zéros de L
n (x), j = 1, . . . , n − 1
(4.28)
α j =
2
n(n + 1)
1
[L n (¯ y j )] 2 ,
j = 0, . . ., n.
Si f ∈ C
(2n) ([−1, 1]), l’erreur correspondante est donnée par
I(f) − I GLL (f) = −
(n + 1)n
3 2
2n+1 ((n − 1)!)
4
(2n + 1)((2n)!) 3
f
(2n) (ξ),
pour un ξ ∈] − 1, 1[. Dans la Table 4.2, on donne les noeuds et les poids
sur l’intervalle de référence [−1, 1] pour n = 1, 2, 3, 4. (Pour n = 1 on
retrouve la formule du trapèze.)
On peut calculer une intégrale dans MATLAB avec une formule
de Gauss-Lobatto-Legendre en utilisant l’instruction quadl(fun,a,b).
quadl
La fonction fun peut être un objet inline. Par exemple, pour intégrer
f(x) = 1/x sur [1, 2], on doit d’abord définir la fonction fun :
fun=inline(’1./x’,’x’);
puis appeler quadl(fun,1,2). Remarquer que dans la définition de la
fonction f on a utilisé une opération “élément par élément” (MATLAB
