Interpolation CIMPA
Interpolation CIMPA
Interpolation CIMPA
1
CHAPITRE 1
Interpolation - Approximation de
fonctions
Introduction
Les polynômes constituent une famille de fonctions tout à fait remarquable en Mathéma-
tiques. Ils sont aussi un outil essentiel du calcul et de l’analyse numérique, notamment
dans l’évaluation ou l’approximation des fonctions, dans les problèmes d’interpolation
et d’extrapolation, dans la résolution d’équations différentielles, etc. L’interpolation est
un processus qui génère de l’information là où elle n’est en principe pas disponible ( les
valeurs de la fonction ne sont connues qu’en certains points ).
2
1.2. Les 3 grandes familles de fonctions approximantes
n
X
qu’on cherche g qui minimise la quantité : ||f (xi ) − g(xi )||2
i=1
* l’approximation uniforme
On minimise le maximum de l’amplitude de l’erreur entre la fonction f et son
approximation. Les points de collocation s’expriment en fonction des racines des
polynômes de Tchebychev
1.3 Interpolation
1.3.1 Interpolation polynomiale : polynôme d’interpolation de
Lagrange
Le problème est alors de déterminer l’unique polynôme Pn de degré n, qui satisfait
Exemple : Cherchons le polynôme qui passe par les points (1,-3), (3,3) et (4,9).
En substituant x = 1, x = 3, x = 4, on a :
3
1.3. Interpolation
Donc
Exercice d’application
Solution
Calculons l0 , l1 , l2 :
l0 (x) = (x−2)(x−4)
8
, l1 (x) = − x(x−4)
4
, l2 (x) = x(x−2)
8
Le polynôme d’interpolation de Lagrange est alors : P2 (x) = l0 (x) + 5l1 (x) + 17l2 (x) =
1 + x2
L’interpolation de Lagrange, peut fort bien diverger même pour des fonctions très régu-
lières (phénomène de Runge)
Px (x) = a0
+ a1 (x − x0 )
+ a2 (x − x0 )(x − x1 )
+ a3 (x − x0 )(x − x1 )(x − x2 ) (11)
+ ...............................................
+ an−1 (x − x0 )(x − x1 )(x − x2 ) · · · (x − xn−2 )
+ an (x − x0 )(x − x1 )(x − x2 ) · · · (x − xn−2 )(x − xn−1 )
Théorème
4
1.3. Interpolation
l’unique polynome de degré n passant par les (n+1) points de collocation (xi , f (xi )) pour
i = 0, 1, 2, ..., n peut s’écrire selon la formule de Newton (11) ou encore sous la forme
récursive :
n
X n−1
Y
Pn (x) = f [x0 ] + f [ x0 , ..., xk ]Ak (x) avec Ak (x) = (x − xk ) (12)
k=1 k=0
Remarques :
Une fois les coefficients ai connus, on peut évaluer le polynôme de Newton au moyen d’un
algorithme similaire au schéma de Horner. On écrit le polynôme (11) sous la forme :
Pn (x) = a0 +(x−x0 )(a1 +(x−x1 )(a2 +(x−x2 )(a3 +· · ·+(x−xn−2 )(an−1 +an (x−xn−1 )))))
(14)
De cette façon, on réduit le nombre d’opérations nécessaires à l’évaluation du polynôme.
En outre, cette forme est moins sensible aux effets des erreurs d’arrondis
Principe de la méthode
xi f (xi ) f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]
x0 f (x0 )
f [x0 , x1 ]
x1 f (x1 ) f [x0 , x1 , x2 ]
f [x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x2 f (x2 ) f [x1 , x2 , x3 ]
f [x2 , x3 ]
x3 f (x3 )
5
1.3. Interpolation
La construction de cette table est simple ; on s’est arrêté aux 3ièmes différences divisées.
Les 1ères différences divisées découlent de la définition simple à savoir que :
f (x1 ) − f (x0 )
f [x0 , x1 ] = (15)
x1 − x0
Exercice : Trouver le polynôme d’interpolation de Newton passant par les points (0, 1)
, (1, 2), (2, 9) et (3, 28).
Résolution :
f [x0 , x1 ] = 2−1
1−0
= 1; 9−2
f [x1 , x2 ] = 2−1 = 7;
28−9 7−1
f [x2 , x3 ] = 3−2 = 19; f [x0 , x1 , x2 ] = 2−0 = 3;
f [x1 , x2 , x3 ] = 19−7
3−1
= 6; 6−3
f [x0 , x1 , x2 , x3 ] = 3−0 =1
xi f (xi ) f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]
0 1
1
1 2 3
7 1
2 9 6
19
3 28
6
1.4. Approximation de fonctions
Pn (x) = 1
+ 1(x − x0 )
+ 3(x − x0 )(x − x1 )
+ 1(x − x0 )(x − x1 )(x − x2 )
on obtient :
Le minimum est réalisé pour des valeurs particulières des paramètres qui correspondent
donc à l’ajustement du modèle par apport aux points de données. On dit aussi que cal-
culer Pm c’est effectuer une régression ou un ajustement de nuages de points (linéaire
quand m = 1, quadratique quand m = 2, cubique quand m = 3 et quartique quand
m = 4).
Dans Matlab le polynôme aux moindres carrés peut être calculé toujours avec la com-
mande polyfit : polyfit(x, y, m) où x et y contiennent les valeurs approcher et m est le
degré du polynôme aux moindres carrés.
Exemple : considérons les points (1,1), (2,3), (3,4), (4,3), (5,4) et (6,2). Supposons
que nous souhaitons trouver une approximation des moindres carrés par un polynôme
de dégrée 1. Considérons alors les erreurs
i = |p(xi ) − yi | = |axi + b − yi |, où i = 1, 2, 3, 4, 5, 6,
7
1.5. Travaux pratiques sur Matlab
∂S ∂S
∂a
= 0 et ∂b
=0
91a + 21b = 63
21a + 6b = 17,
p(x) = 15 x + 32
15
Pn (x) = a0 + a1 x + a2 x2 + a3 x3 + · · · + an xn (19)
Les polynômes sont représentés par des vecteurs lignes dont les composantes sont don-
nées par ordre de puissances décroissantes. Un polynôme de degré n est représenté par
un vecteur de taille n + 1.
»p = [1 − 6 11 − 6]
»r=roots(p) % calcul des racines
»p=poly(r) % calcul des coefficients du polynôme
Soit A la matrice donnée par A=[1 2 3 ; 4 5 6 ; 7 8 0]
8
1.5. Travaux pratiques sur Matlab
Produit et division
Soit f et g deux polynômes : Le produit de convolution h de f et g est donné par h =conv
(f, g)
La fonction deconv donne la division de f par g avec la syntaxe : [q, r] = deconv (f, g)
où q est le quotient et r le reste.
»V=[1 0 2 3] ;
polyval (v, 0 :5)% calcul des ordonnées correspondant aux abscisses 0,1,2,3,4,5
»x=roots(v)
Exercice d’application
Les masses volumiques d’un matériau pour différentes températures sont données ci-
dessous :
p = [1 2 0] ;
9
1.5. Travaux pratiques sur Matlab
% figure (1)
% figure (2)
x= 0 :10 ;
y= sin(x) ;
xi = 0 : .25 : 10 ;
yi =interp1 (x, y, xi );
plot(x, y,0 o0 , xi , yi ,0 r0 )
10