TP5 IntegNum Interp

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Département de Mathématiques Préparation à l’agrégation de Mathématiques

Université de Nantes TP de modélisation - Option B

TP 5 : Intégration numérique et interpolation


Ce TP s’appuie en partie sur le texte de la session 2013 portant sur un modèle de réacteur biologique.

On s’intéresse dans ce TP à des méthodes numériques d’intégration et d’interpolation.

1 Intégration numérique
Soient a et b des réels tels que a < b et f une fonction réelle continue sur l’intervalle [a, b]. On souhaite calculer une
Rb
valeur approchée de I(f ) = a f (x)dx par une méthode numérique, aussi appelée formule de quadrature.

1.1 Méthodes classiques


On rappelle quelques méthodes classiques :
— rectangles à gauche : I(f ) ≈ (b − a)f (a),
— rectangles à droite : I(f ) ≈ (b − a)f (b),
— point milieu : I(f ) ≈ (b − a)f ( a+b
2 ),
b−a
— trapèzes : I(f ) ≈ 2 (f (a) + f (b)),
— Simpson : I(f ) ≈ b−a a+b
6 (f (a) + 4f ( 2 ) + f (b)).
Dans la pratique, on utilise une méthode composée. Cela consiste à découper l’intégrale en sous-intégrales I(f ) =
Rb PN −1 R ai+1
a f (x)dx = i=0 ai f (x)dx, avec a = a0 < a1 < · · · < ai < · · · < aN = b, puis à appliquer sur chaque
sous-intégrale l’une des méthodes classiques rappelées ci-dessus.

Ordre d’une formule de quadrature. Une formule de quadrature In est dite d’ordre k pour k ∈ N si et seulement si
elle est exacte pour tout polynôme de degré inférieur ou égal à k, c’est-à-dire si et seulement si I (P ) = In (P ) , ∀P ∈
Pk .

1.2 Méthode de Monte-Carlo


La méthode de Monte-Carlo repose sur la formule :
Z 1
f (x)dx = E[f (X)]
0
où X est une variable aléatoire suivant une loi uniforme sur [0, 1].
Si (X1 , . . . , Xn ) sont des variables indépendantes et identiquement distribuées suivant la même loi que X, alors d’après
la loi forte des grands nombres,
n
1X
f (Xi ) → E[f (X)] p.s. (1)
n
i=1
1 Pn
La méthode de Monte-Carlo consiste alors à approcher I(f ) par f (Xi ) où les Xi sont n réels tirés uniformément
?
n i=1
entre a et b, pour n ∈ N fixé.

Vitesse de convergence. On peut estimer la vitesse de convergence grâce au théorème central limite :
n
!
√ 1X
n f (Xi ) − E[f (X)] → N (0, σ 2 ) en loi
n
i=1

où σ2 = V ar(f (X)).

1
2 Applications
2.1 Application 1 : texte de la session 2013
1. Lire le texte de la session 2013 portant sur un modèle de réacteur biologique. On ne reviendra pas dans ce TP
sur la section 3.
2. Programmer le schéma numérique (9) du texte avec l’intégrale approchée S̃n donnée par (10) (obtenue par la
méthode des trapèzes).
3. Pour u0 = 0.1 et un temps final de 5, tracer la solution ũn en fonction du temps pour différentes valeurs de κ.
On prendra par exemple un pas de temps h = 0.01. Comparer vos résultats à la figure 1 du texte.
R1
2.2 Application 2 : calcul de I(f ) = 0 sin(3x)dx
1. Utiliser la fonction Scilab integrate (ou la fonction Scilab intg) ou la fonction quad de scipy.integrate sous
Python pour calculer une approximation de I(f ).
2. Comparer la valeur approchée donnée par cette fonction à la solution exacte.
3. Ecrire trois fonctions calculant une approximation de I(f ) par une méthode composée (avec N = 100 par
exemple) utilisant respectivement la méthode des rectangles à gauche, celle des trapèzes et celle de Simpson.
4. Comparer les valeurs approchées obtenues par chacune des méthodes à la solution exacte.
5. Calculer une approximation de I(f ) par la méthode de Monte-Carlo (avec n = 100 par exemple) et comparer
le résultat à la solution exacte.

3 Méthode de Newton-Cotes et interpolation


Les formules de quadrature des trapèzes et de Simpson sont des cas particuliers (pour n = 1 et n = 2 respectivement)
de la méthode de Newton-Cotes dont nous rappelons le principe.
R 1 à l’intervalle [−1, 1] et on considère f : [−1, 1] → R continue. On cherche une valeur approchée
On se restreint
de I (f ) = −1 f (x) dx. La méthode de Newton-Cotes consiste à approcher f par son polynôme d’interpolation de
Lagrange.

Méthode : on découpe l’intervalle [−1, 1] en n ∈ N? sous-intervalles [xi , xi+1 ] de même longueur h = xi+1 − xi , de
telle sorte que −1 = x0 < x1 < · · · < xn = 1, h = n2 et xi = −1 + ih.
Les polynômes de Lagrange associés aux points xi sont définis par
x − xj
ln,i (x) = Πnj=0,j6=i , ∀i = 0, . . . , n.
xi − xj
Le polynôme d’interpolation de Lagrange de f est donné par
n
X
Pn,f (x) = f (xi ) ln,i (x) .
i=0

C’est le polynôme de degré n qui a les mêmes valeurs que f aux n + 1 points xi , i = 0, . . . , n.
On approche alors I (f ) par
Z 1 Xn Z 1 n
X
In (f ) = Pn,f (x) dx = f (xi ) ln,i (x) dx = f (xi ) ωi ,
−1 i=0 −1 i=0
R1
où les poids sont donnés par ωi = −1 ln,i (x) dx.

Théorème. Soient P n ∈ N? et n + 1 points d’intégration −1 = x0 < x1 < · · · < xn = 1 équirépartis.


R 1 Une formule de
quadrature In (f ) = ni=0 ωi f (xi ) est d’ordre n si et seulement si les poids sont définis par ωi = −1 ln,i (x) dx où
les ln,i sont les polynômes de Lagrange associés aux points xi .

2
3.1 Forme de Newton du polynôme d’interpolation
Dans la suite de ce TP, on s’intéresse à la construction du polynôme d’interpolation d’une fonction f donnée.

La forme de Lagrange du polynôme d’interpolation n’est pas la plus commode d’un point de vue algorithmique (no-
tamment, l’ajout d’un point d’interpolation nécessite la redéfinition de tous les polynômes ln,i (x)). On introduit ici la
forme de Newton dont le coût de calcul est moins élevé :
n
X
Pn,f (x) = f [x0 ] + πk−1 (x)f [x0 , . . . , xk ], (2)
k=1

où πk (x) est donné par πk (x) = (x − x0 ) . . . (x − xk ), f [xi ] = f (xi ) et f [x0 , . . . , xk ] est appelée la k−ième différence
divisée de Newton, vérifiant la relation de récurrence
f [x1 , . . . , xk ] − f [x0 , . . . , xk−1 ]
f [x0 , . . . , xk ] = , (3)
xk − x0
appelée différence divisée.

Exemple. Pour 4 points d’interpolation, on peut calculer les différences divisées à l’aide du diagramme suivant :
x0 f [x0 ] = f (x0 )
f [x1 ] − f [x0 ]
x1 f [x1 ] = f (x1 ) f [x0 , x1 ] =
x1 − x0
f [x2 ] − f [x1 ] f [x1 , x2 ] − f [x0 , x1 ]
x2 f [x2 ] = f (x2 ) f [x1 , x2 ] = f [x0 , x1 , x2 ] =
x2 − x1 x2 − x0
f [x3 ] − f [x2 ] f [x2 , x3 ] − f [x1 , x2 ] f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ]
x3 f [x3 ] = f (x3 ) f [x2 , x3 ] = f [x1 , x2 , x3 ] = f [x0 , x1 , x2 , x3 ] =
x3 − x2 x3 − x1 x3 − x0

3.2 Application
1. Ecrire une fonction qui construit un tableau contenant n+1 points d’interpolation dont la répartition dans [−1, 1]
peut être uniforme, aléatoire (utiliser la fonction Scilab rand ou la fonction random.rand de  numpy sous
(2k + 1)π
Python) ou suivre les zéros des polynômes de Tchebychev sur [−1, 1] donnés par xk = cos ,
2(n + 1)
k = 0, . . . , n.
2. Ecrire une fonction qui calcule les différences divisées pour n + 1 paires (xi , f (xi )), i = 0, . . . , n, et renvoie
uniquement les termes nécessaires à la forme de Newton, i.e. les f [x0 , . . . , xk ], pour k = 0, . . . , n.
3. Ecrire une fonction qui, étant donnés une fonction f et n + 1 points d’interpolation xi , calcule le polynôme
d’interpolation de la fonction f aux points xi , i = 0, . . . , n, en utilisant les différences divisées.
4. Afficher les polynômes obtenus pour la fonction f (x) = sin(πx) sur [−1, 1] pour différentes valeurs de n et
différentes répartitions des points d’interpolation. Comparer à la fonction f .
1
5. Considérer la fonction f (x) = 1+(5x)2 sur l’intervalle [−1, 1]. Mettre en évidence le phénomène de Runge, quand

n → ∞, pour les points uniformément répartis, et la convergence lorsque les points de Tchebychev sont utilisés.

Vous aimerez peut-être aussi