Accueil > Mathématiques > Interpolation > Interpolation polynômiale de type Newton et différences divisées.
Interpolation polynômiale de type Newton et différences divisées.
samedi 3 juin 2006, par
Mots-clés: base , base de Newton , différences divisées , erreur d’interpolation , interpolation , interpolation polynômiale , Newton , points d’interpolation , polynôme , polynôme d’interpolation , scilab .
Toutes les versions de cet article : [English] [français]
On étudie ici l’interpolation polynômiale de type Newton. Étant données une suite de (n+1) points et une fonction f, on doit déterminer un polynôme de degré n qui interpole f aux points considérés. On utilisera pour cela la notion de différences divisées.
Interpolation
Étant donné
points
. Les
sont appelés points d’interpolation. Les ![]()
représentent les valeurs d’interpolation. Pour interpoler une fonction
, on définit ces valeurs d’interpolation comme suit :
![]()
Rappels sur les polynôme d’interpolation de Lagrange
Nous avons vu que le polynôme d’interpolation de Lagrange de degré
s’écrivait comme suit :

où les
sont des polynômes de degré
qui forment une base de ![]()

De tels polynômes ne sont pas pratiques puisque du point de vue numérique, il est difficile de déduire
de
. Pour cela, on introduit le polynôme d’interpolation de Newton.
Propriétés du polynôme d’interpolation de Newton et de la base de Newton
Les polynômes
de la base de Newton sont définis comme suit :

avec pour convention
![]()
en outre

L’ensemble des polynômes
(base de Newton) forment une base de l’espace
des polynômes de degré au plus
, puisqu’il s’agit d’une famille de
polynômes de degré échelonné.
Le polynôme d’interpolation de Newton de degré
relatif à la subdivision
s’écrit :

avec
![]()
Il faut alors déterminer les coefficients
. C’est l’objet de la prochaine partie intitulée les différences divisées.
Différences divisées
Le polynôme d’interpolation de Newton de degré
,
évalué en
donne :
![P_n(x_0)= \sum_{k=0}^n \alpha_k e_k(x_0)=\alpha_0=f(x_0)=f[x_0] P_n(x_0)= \sum_{k=0}^n \alpha_k e_k(x_0)=\alpha_0=f(x_0)=f[x_0]](local/cache-vignettes/L280xH53/177a913423d7c3989261fe0d1894bb20-488dd.png)
De manière générale, on note
![]()
est appelée différence divisée d’ordre 0.
Le polynôme d’interpolation de Newton de degré
,
évalué en
donne :
![\begin{array}{lll}
P_n(x_1)&=&\displaystyle \sum_{k=0}^n \alpha_k e_k(x_1)\\
&=&\alpha_0 + \alpha_1(x_1-x_0)\\
&=&f[x_0] + \alpha_1(x_1-x_0)\\
&=&f[x_1]
\end{array}
\begin{array}{lll}
P_n(x_1)&=&\displaystyle \sum_{k=0}^n \alpha_k e_k(x_1)\\
&=&\alpha_0 + \alpha_1(x_1-x_0)\\
&=&f[x_0] + \alpha_1(x_1-x_0)\\
&=&f[x_1]
\end{array}](local/cache-vignettes/L210xH109/f00618c9ada26e66e81cd3e86ce7dcc2-51299.png)
d’où
![\alpha_1=\frac{f[x_1]-f[x_0]}{x_1-x_0}=f[x_0,x_1] \alpha_1=\frac{f[x_1]-f[x_0]}{x_1-x_0}=f[x_0,x_1]](local/cache-vignettes/L193xH53/50efd6febae9b6d316bd1091b5ddcdd2-cfcb7.png)
est appelée différence divisée d’ordre 1.
Le polynôme d’interpolation de Newton de degré
,
évalué en
donne :
![\begin{array}{rcl}
P_n(x_2)&=&\displaystyle \sum_{k=0}^n \alpha_k e_k(x_2)\\
&=&\alpha_0 + \alpha_1(x_2-x_0) +\alpha_2(x_2-x_0)(x_2-x_1) \\
&=&f[x_0] + f[x_0,x_1](x_2-x_0)+\alpha_2(x_2-x_0)(x_2-x_1) \\
&=&f[x_2]
\end{array}
\begin{array}{rcl}
P_n(x_2)&=&\displaystyle \sum_{k=0}^n \alpha_k e_k(x_2)\\
&=&\alpha_0 + \alpha_1(x_2-x_0) +\alpha_2(x_2-x_0)(x_2-x_1) \\
&=&f[x_0] + f[x_0,x_1](x_2-x_0)+\alpha_2(x_2-x_0)(x_2-x_1) \\
&=&f[x_2]
\end{array}](local/cache-vignettes/L396xH109/beadb42257cd70f89937620c9ffa5d6d-93c72.png)
on a alors :
![\begin{array}{rcl}
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_0] -f[x_0,x_1](x_2-x_0)\\
\alpha_2&=&\displaystyle\frac{f[x_2]-f[x_0] -f[x_0,x_1](x_2-x_0)}{(x_2-x_0)(x_2-x_1)}\\
\alpha_2&=&\displaystyle\frac{f[x_2]-f[x_0]}{(x_2-x_0)(x_2-x_1)}-
\frac{f[x_0,x_1]}{x_2-x_1}\\
\alpha_2&=&\displaystyle\frac{f[x_0,x_2]-f[x_0,x_1]}{x_2-x_1}
\end{array}
\begin{array}{rcl}
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_0] -f[x_0,x_1](x_2-x_0)\\
\alpha_2&=&\displaystyle\frac{f[x_2]-f[x_0] -f[x_0,x_1](x_2-x_0)}{(x_2-x_0)(x_2-x_1)}\\
\alpha_2&=&\displaystyle\frac{f[x_2]-f[x_0]}{(x_2-x_0)(x_2-x_1)}-
\frac{f[x_0,x_1]}{x_2-x_1}\\
\alpha_2&=&\displaystyle\frac{f[x_0,x_2]-f[x_0,x_1]}{x_2-x_1}
\end{array}](local/cache-vignettes/L388xH140/00211f8b56d723efb3cca8525d1bbe31-e93d1.png)
on préfère en général l’écriture suivante :
![\begin{array}{rcl}
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_0] -f[x_0,x_1](x_2-x_0)\\
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_0] -f[x_0,x_1](x_2-x_0)-f[x_1]+f[x_1]\\
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_1]+f[x_1]-f[x_0] -f[x_0,x_1](x_2-x_0)\\
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_1]+(x_1-x_0)f[x_0,x_1]
-f[x_0,x_1](x_2-x_0)\\
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_1]+(x_1-x_2)f[x_0,x_1]\\
\alpha_2(x_2-x_0)&=&\displaystyle\frac{f[x_2]-f[x_1]}{x_2-x_1}-f[x_0,x_1]\\
\alpha_2(x_2-x_0)&=&f[x_1,x_2]-f[x_0,x_1]
\end{array}
\begin{array}{rcl}
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_0] -f[x_0,x_1](x_2-x_0)\\
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_0] -f[x_0,x_1](x_2-x_0)-f[x_1]+f[x_1]\\
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_1]+f[x_1]-f[x_0] -f[x_0,x_1](x_2-x_0)\\
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_1]+(x_1-x_0)f[x_0,x_1]
-f[x_0,x_1](x_2-x_0)\\
\alpha_2(x_2-x_0)(x_2-x_1)&=&f[x_2]-f[x_1]+(x_1-x_2)f[x_0,x_1]\\
\alpha_2(x_2-x_0)&=&\displaystyle\frac{f[x_2]-f[x_1]}{x_2-x_1}-f[x_0,x_1]\\
\alpha_2(x_2-x_0)&=&f[x_1,x_2]-f[x_0,x_1]
\end{array}](local/cache-vignettes/L500xH155/a154a9da2d23ed7ab0b92016fd325093-42205.png)
d’où
![\alpha_2=\displaystyle\frac{f[x_1,x_2]-f[x_0,x_1]}{x_2-x_0}=f[x_0,x_1,x_2] \alpha_2=\displaystyle\frac{f[x_1,x_2]-f[x_0,x_1]}{x_2-x_0}=f[x_0,x_1,x_2]](local/cache-vignettes/L255xH53/22b1aa209e80d73dd895054c0ee4a6d5-a94de.png)
est appelée différence divisée d’ordre 2.
On obtient alors par récurrence :
![\alpha_k=\displaystyle\frac{f[x_1,\ldots,x_k]-
f[x_0,\ldots,x_{k-1}]}{x_k-x_0}=f[x_0,\ldots,x_k] \alpha_k=\displaystyle\frac{f[x_1,\ldots,x_k]-
f[x_0,\ldots,x_{k-1}]}{x_k-x_0}=f[x_0,\ldots,x_k]](local/cache-vignettes/L329xH53/f537ef320f8f01d3f0a5b57d54ce5e0e-1d148.png)
est alors appelée différence divisée d’ordre
.
En pratique lorsqu’on veut déterminer par exemple la différence divisée d’ordre 3
, on a besoins des quantités suivantes
![\left[\begin{array}{ccccc}
x_0 & f[x_0] & & & \cr
x_1 & f[x_1] & f[x_0,x_1] & & \cr
x_2 & f[x_2] & f[x_1,x_2] & f[x_0,x_1,x_2] & \cr
x_3 & f[x_3] & f[x_2,x_3] & f[x_1,x_2,x_3] & f[x_0,x_1,x_2,x_3]
\end{array}\right]
\left[\begin{array}{ccccc}
x_0 & f[x_0] & & & \cr
x_1 & f[x_1] & f[x_0,x_1] & & \cr
x_2 & f[x_2] & f[x_1,x_2] & f[x_0,x_1,x_2] & \cr
x_3 & f[x_3] & f[x_2,x_3] & f[x_1,x_2,x_3] & f[x_0,x_1,x_2,x_3]
\end{array}\right]](local/cache-vignettes/L345xH89/7667ba0d45bdc5e6a3bbd9ee0bee49a2-b6c63.png)
puisque
![f[x_0,x_1,x_2,x_3]=\displaystyle\frac{f[x_1,x_2,x_3]-
f[x_0,x_1,x_{2}]}{x_3-x_0} f[x_0,x_1,x_2,x_3]=\displaystyle\frac{f[x_1,x_2,x_3]-
f[x_0,x_1,x_{2}]}{x_3-x_0}](local/cache-vignettes/L281xH53/4c969af9dac1bc9d76649626d4d68ec5-27873.png)
Propriété. Soit
. Soit
une permutation de
, alors
![]()
Polynôme d’interpolation de Newton de degré 
Le polynôme d’interpolation de Newton de degré
s’écrit donc à l’aide des différences divisées successives :
![P_n(x)= f[x_0] + \sum_{k=1}^n f[x_0,\ldots,x_k] e_k(x) P_n(x)= f[x_0] + \sum_{k=1}^n f[x_0,\ldots,x_k] e_k(x)](local/cache-vignettes/L241xH53/ffe00643d80ac40b7c47f17e447ad00c-7371b.png)
Erreur d’interpolation
On suppose que
et
. Soit
le fermé défini par
(le plus petit fermé contenant
et les
).
Théorème.
![\exists \xi \in I / f[x_0,\ldots,x_{n}]=\displaystyle\frac{f^{n}(\xi)}{n!} \exists \xi \in I / f[x_0,\ldots,x_{n}]=\displaystyle\frac{f^{n}(\xi)}{n!}](local/cache-vignettes/L186xH53/b0f1287737b27197eb8c7b866370d898-310a9.png)
Preuve.Soit
On a :
![]()
Par application successive du théorème de Rolle(
fois),
s’annule en un point
:
![]()
On a alors :
![]()
Or le coefficient de
dans
est
, par suite
![]()
d’où
![f[x_0,\ldots,x_{n}]=\displaystyle\frac{f^{(n)}(\xi)}{n!} f[x_0,\ldots,x_{n}]=\displaystyle\frac{f^{(n)}(\xi)}{n!}](local/cache-vignettes/L146xH55/309aeab96cdc9162f87aa485dd0263ac-b4437.png)
On suppose à présent que
et
. Soit
le fermé défini par
(le plus petit fermé contenant
et les
).
Théorème.
![\forall x\in [a,b],\quad \exists \xi \in I / f(x)-P_n(x)=
\displaystyle\frac{f^{n+1}(\xi)}{(n+1)!} \displaystyle\prod_{i=0}^{n}(x-x_i) \forall x\in [a,b],\quad \exists \xi \in I / f(x)-P_n(x)=
\displaystyle\frac{f^{n+1}(\xi)}{(n+1)!} \displaystyle\prod_{i=0}^{n}(x-x_i)](local/cache-vignettes/L361xH54/1e75de9228bd2fedc768dc9ed239e1d7-3a980.png)
Preuve. Il existe deux preuves possibles, celle vue dans l’interpolation polynômiale de type Lagrange et la preuve suivante.
Pour
le problème est réglé :
![]()
Soit
, supposons à présent que
. Considérons l’unique polynôme
de degré
qui interpole
aux points
.
satisfait

Le polynôme
s’écrit :
![]()
or d’après le théorème précédent
![f[x_0,\ldots,x_{n},\hat{x}]=\displaystyle\frac{f^{(n+1)}(\xi)}{(n+1)!} f[x_0,\ldots,x_{n},\hat{x}]=\displaystyle\frac{f^{(n+1)}(\xi)}{(n+1)!}](local/cache-vignettes/L175xH55/4515f6b5cea394dfaed289e64c8d05f1-e9da1.png)
En posant
,
,

étant quelconque le théorème est démontré.
Exemple de calcul de polynôme d’interpolation de Newton
Étant donné 3 points
. Nous allons déterminer le polynôme d’interpolation de Newton de degré 2 passant par ces points.
![\left[\begin{array}{ccccc}
x_0=0 & f[x_0]=1 & & & \cr
x_1=2 & f[x_1]=5 & f[x_0,x_1]=\displaystyle\frac{5-1}{2-0} = 2& & \cr
x_2=4 & f[x_2]=17 & f[x_1,x_2]=\displaystyle\frac{17-5}{4-2}=6 & f[x_0,x_1,x_2]=
\displaystyle\frac{6-2}{4-0}=1
&
\end{array}\right]
\left[\begin{array}{ccccc}
x_0=0 & f[x_0]=1 & & & \cr
x_1=2 & f[x_1]=5 & f[x_0,x_1]=\displaystyle\frac{5-1}{2-0} = 2& & \cr
x_2=4 & f[x_2]=17 & f[x_1,x_2]=\displaystyle\frac{17-5}{4-2}=6 & f[x_0,x_1,x_2]=
\displaystyle\frac{6-2}{4-0}=1
&
\end{array}\right]](local/cache-vignettes/L485xH98/c8f5ff4657f55cde45eaf935f7fbc2b4-6408f.png)
Par suite :
![\begin{array}{rcl}
P_2(x)&=&f[x_0]+f[x_0,x_1]x+f[x_0,x_1,x_2]x(x-2)\\
&=&1+2x+x(x-2)\\
&=&1+x^2
\end{array}
\begin{array}{rcl}
P_2(x)&=&f[x_0]+f[x_0,x_1]x+f[x_0,x_1,x_2]x(x-2)\\
&=&1+2x+x(x-2)\\
&=&1+x^2
\end{array}](local/cache-vignettes/L334xH71/2fc0d3d81c025f0529375d277273ac35-1c697.png)
Scilab : calcul de polynôme d’interpolation de Newton
La fonction Scilab newton.sci permet de déterminer le polynôme d’interpolation de Newton.
contient les points d’interpolations et
les valeurs d’interpolation, ![]()
est le polynôme d’interpolation de Newton calculé à l’aide des différences divisées.
newton.sci
On a alors :
