Académique Documents
Professionnel Documents
Culture Documents
Interpolation Polynômiale
2018/2019
L’approximation d’une fonction donnée par une autre, plus simple, est
un outil très efficace et répandu dans les mathématiques appliquées.
En particulier, la fonction f sera approchée par un polynôme pn .
Applications
visualisation de résultats de calculs : pour des valeurs données
d’une fonction f aux points xi , nous voulons tracer cette fonction
sur l’intervalle [a, b]: f (x) ' pn (x), ∀x ∈ [a, b]
dérivation numérique: afin de calculer la dérivée d’une fonction f :
f 0 (x) ' pn0 (x)
intégration numérique : afin de calculer l’intégrale d’un fonction f :
Rb Rb
a f (x)dx ' a pn (x)dx
résolution numérique des équations différentielles : dans les
méthodes spectrales, la solution d’une équation est approchée
par un polynôme; dans la méthode d’éléments finis, la solution est
approchée par une fonction polynômiale par morceaux.
...
Abdelkader FASSI FIHRI (ENSAM-Meknès) CMN 3/1
Introduction Exemple d’interpolation
p3 (x) = a0 + a1 x + a2 x 2 + a3 x 3 (1)
passant par les points (−2, 10), (−1, 4), (1, 6) et (2, 3).
10
3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
y = [10;4;6;3];
V= [1,-2,4,-8;1,-1,1,-1;1,1,1,1;1,2,4,8];
a = V \y;
10
3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
i xi yi
0 x0 y0
1 x1 y1
. . .
. . .
. . .
n xn yn
Définition
On cherche un polynôme Pn de degré au plus n (Pn ∈ Rn [X ]) tel que
Pn (xi ) = yi , pour i = 0, ..., n.
a0 + a1 x0 + . . . + an x0n =y0
a0 + a1 x1 + . . . + an x1n =y1
. . . . . . . . . . . . . . . . . . . . . . .=. . .
a0 + a1 xn + ... + an xnn =yn
Déterminant de Vandermonde
Le déterminant de Vandermonde vérifie:
1 x0 x 2 . . . x n
0 0
1 x1 x 2 . . . x n
1 1
Y
= (xj − xi )
.. .. . .
.. . . . ..
. .
0≤i<j≤n
1 xn x 2 . . . x n
n n
Théorème
Une condition nécessaire et suffisante pour qu’il existe un et un seul
polynôme Pn ∈ Rn [X ] tel que Pn (xi ) = yi , pour i = 0, . . . , n est que
toutes les abscisses soient distinctes
avec
a0 −1 y0
1 x0 x02 x0n
a1 ... y1
1 x1 x 2 ... x1n
a2 1 y2
= .. .. .
. .
.. . .
. . . . . .. ..
.
1 xn xn2 . . . xnn
an yn
et donc:
−1 1
1 1 1 ... 1 t
x0 x1 x2 . . . xn
t 2
Pn (t) = (y0 , y1 , y2 , . . . , yn ) .
.. .. ..
..
. . ... . ..
.
x0 x1 x2n
n n . . . xnn
tn
avec
L (t) 1
... 1 0
1 1 1
x0 x1 x2 . . . xn 1 t
L (t)
L2 (t) t 2
=
.. .. .. .
. . . . . . .. .. ..
. .
x0n x1n x2n . . . xnn
Ln (t) tn
Propriétés
L0 (t) + L1 (t) + . . . + Ln (t) =1
x0 L0 (t) + x1 L1 (t) + . . . + xn Ln (t)=t
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .=. . .
n
x0 L1 (t) + x1n L1 (t) + ... + xnn Ln (t)=t n
Théorème
{L0 , L1 , . . . , Ln } est une base de Rn [X ]
Définition
Soit π le polynôme de degré n + 1 tel que:
π(t) = (t − x0 )(t − x1 ) . . . (t − xn )
π(t)
Li (t) =
(t − xi )πi (xi )
(n) 1
On remarque que λi = πi (xi ) , ce qui donne:
Formule barycentrique
(n)
n
Pn λ
i=0 yi t−xi
i
X π(t)
Pn (t) = yi =
(t − xi )πi (xi ) Pn λ(n) i
i=0 i=0 t−xi
Algorithme
Entrées:
(xi , yi )0≤i≤n représentant les points d’interpolation
le point t en lequel on veut évaluer le polynôme d’interpolation
Sortie: Pn (t)
P=0
pour i=0,. . . ,n faire
L=1
pour j=0,. . . ,i-1 faire
L = L ∗ (t − xj )/(xi − xj )
fin du pour
pour j=i+1,. . . ,n faire
L = L ∗ (t − xj )/(xi − xj )
fin du pour
P = P + yi ∗ L
fin du pour
Abdelkader FASSI FIHRI (ENSAM-Meknès) CMN 19 / 1
Polynôme d’interpolation dans la base de Newton
Théorème
Qi−1
Posons N0 (t) = 1 et Ni (t) = Ni−1 (t)(t − xi−1 ) = j=0 (t − xj ), alors
{N0 , N1 , . . . , Nn } est une base de Rn [X ].
Définition
On appelle différence divisée:
d’ordre zero la quantité : [xi ] = yi
yj −yi
d’ordre un la quantité : [xi , xj ] = xj −xi
d’ordre k − 1 :
[xi2 , . . . , xik ] − [xi1 , . . . , xik −1 ]
[xi1 , . . . , xik ] =
xik − xi1
Propriétés
k
X yi
[x0 , . . . , xk ] = Qk
i=0 j=0 (xi − xj )
j6=i
Différences divisées
x0 y0
x1 y1 [x0 , x1 ]
x2 y2 [x1 , x2 ] [x0 , x1 , x2 ]
.. .. .. ..
. . . .
xn yn [xn−1 , xn ] [xn−2 , xn−1 , xn ] . . . ... ... [x0 , x1 , . . . , xn ]
Pi (xj ) = yj ; pour j = 0, . . . , i
Algorithme de Newton
Entrées:
(xi , yi )0≤i≤n représentant les points d’interpolation
le point t en lequel on veut évaluer le polynôme d’interpolation
Sortie: Pn (t)
P = f [x0 ] = f (x0 )
T=1
pour j=1,. . . ,n faire
T = T ∗ (t − xj−1 )
calcul des différence divisées d’ordre j
pour i=j,. . . ,n faire
D(i, j) dénote f [xi−j , . . . , xi ]
D(i, j) = D(i,j−1)−D(i−1,j−1)
x −x i i−j+1
fin du pour
P = P + T ∗ D(j, j)
fin du pour
Théorème
Soit f une fonction de classe C n+1 [a, b] avec a = mink xk et
b = maxk xk et Pn le polynôme interpolant f en n + 1 points x0 , . . . , xn
appartenant à [a, b] et yi = f (xi ). Alors
∃ξt ∈ [min(t, mink xk ), max(t, maxk xk )] tel que :
n
f (n+1) (ξt ) Y
En (t) = f (t) − Pn (t) = (t − xi )
(n + 1)!
i=0
π(x)
Preuve: On pose F (x) = f (x) − Pn (x) − π(t) (f (t) − Pn (t))
Théorème de Cauchy
n
Y
En (t) = f (t) − Pn (t) = [x0 , . . . , xn , t] (t − xi )
i=0
1 b − a n+1
max |f (t) − Pn (t)| ≤ ( ) max |f (n+1) (t)|
x∈[a,b] 4(n + 1) n t∈[a,b]
Phénomène de Runge
1
fonction f
points équidistants
0.8
points de Tchebyshev
0.6
0.4
0.2
-0.2
-5 -4 -3 -2 -1 0 1 2 3 4 5
Fonctions Matlab/Octave
En Matlab/Octave on peut calculer les polynômes d’interpolation en
utilisant les commandes polyfit et polyval.
1 p = polyfit(x,y,n) calcule les coefficients du polynôme de degré n
qui interpole les valeurs y aux points x.
2 px = polyval(p,t) calcule les valeurs px d’un polynôme de degré n,
dont les n + 1 coefficients sont memorisés dans le vecteur p, au
point t, c’est-à-dire :
px = p1 t n + ... + pn t + pn+1