Avancer

Section 7.3 Exercices

On a commencé à remplir la table de différences divisées suivante :

\begin{equation*} \begin{array}{c|cccc} x_i&y_i&&&\\ \hline\\ -1&5&&&\\ &&\frac{1}{2}&&\\ 3&7&&&\\ &&-9&&\\ 4&-2&&&\\ &&&&\\ 7&4&&&\\ \end{array} \end{equation*}

On note

\begin{equation*} A_0=(-1;5),\: A_1=(3;7),\; A_2=(4;-2)\;\text{et}\; A_3=(7;4). \end{equation*}
  1. Combien vaut \(\left[A_2\right]\text{?}\)
  2. Combien vaut \(\left[A_2,A_3\right]\text{?}\)
  3. Combien vaut \(\left[A_0,A_1,A_2\right]\text{?}\)
  4. Complétez la table.
Solution
  1. On a \(\left[A_2\right]=-2\text{.}\)
  2. On calcule

    \begin{equation*} \left[A_2,A_3\right]=\frac{\left[A_3\right]-\left[A_2\right]}{x_3-x_2}=\frac{4+2}{7-4}=2. \end{equation*}
  3. On connait déjà

    \begin{equation*} \left[A_0,A_1\right]=\frac{1}{2}\quad\text{et}\quad=\left[A_1,A_2\right]=-9. \end{equation*}

    On calcule alors

    \begin{equation*} \displaystyle\left[A_0,A_1,A_2\right]=\frac{\left[A_1,A_2\right]-\left[A_0,A_1\right]}{x_2-x_0}=\frac{-9-\frac{1}{2}}{4+1}=-\frac{19}{10}. \end{equation*}
  4. On a

    \begin{equation*} \begin{array}{c|cccc} x_i&y_i&&&\\ \hline\\ -1&5&&&\\ &&\frac{1}{2}&&\\ 3&7&&-\frac{19}{10}&\\ &&-9&&\frac{\frac{11}{4}+\frac{19}{10}}{7+1}=\frac{93}{160}\\ 4&-2&&\frac{2+9}{7-3}=\frac{11}{4}&\\ &&2&&\\ 7&4&&&\\ \end{array} \end{equation*}

Soit \(A,B\) deux points d'abscisses distinctes. Il est facile de voir que

\begin{equation*} \left[A,B\right]=\left[B,A\right]. \end{equation*}

Plus généralement, les différences divisées ne dépendent pas de l'ordre des points : on dit qu'elles sont invariantes par permutation.

Par exemple, vérifiez que

\begin{equation*} \left[A,B,C\right]=\left[C,A,B\right] \end{equation*}

avec

\begin{equation*} A=(1;3),\; B=(3;-5)\;\text{et}\; C=(4;2). \end{equation*}
Solution

Commençons par calculer \(\left[A,B,C\right]\) :

\begin{equation*} \begin{array}{c|ccc} x&y\\ \hline\\ 1&\left[A\right]=3&&\\ &&\left[A,B\right]=-4&\\ 3&\left[B\right]=-5&&\left[A,B,C\right]=\frac{11}{3}\\ &&\left[B,C\right]=7&\\ 4&\left[C\right]=2&& \end{array} \end{equation*}

Calculons ensuite \(\left[C,A,B\right]\) :

\begin{equation*} \begin{array}{c|ccc} x&y\\ \hline\\ 4&\left[C\right]=2&&\\ &&\left[C,A\right]=-\frac{1}{3}&\\ 1&\left[A\right]=3&&\left[C,A,B\right]=\frac{11}{3}\\ &&\left[A,B\right]=-4&\\ 3&\left[B\right]=-5&& \end{array} \end{equation*}

On a bien

\begin{equation*} \left[A,B,C\right]=\left[C,A,B\right]=\frac{11}{3}. \end{equation*}

Déterminez la forme de Newton du polynôme interpolateur des trois points suivants :

\begin{equation*} A_0=(0;4),\;A_1=(2;-1)\;\text{et}\; A_2=(5;12). \end{equation*}
  1. En résolvant un système linéaire.
  2. En utilisant les différences divisées.
Solution
  1. La forme de Newton du polynôme interpolateur de ces trois points s'écrit

    \begin{align*} N(t)&=d_0+d_1(t-x_0)+d_2(t-x_0)(t-x_1)\\ &=d_0+d_1t+d_2t(t-2). \end{align*}

    On cherche donc trois nombres réels \(d_0,d_1,d_2\) tels que

    \begin{equation*} \begin{cases}N(0)=4,\\N(2)=-1,\\N(5)=12,\end{cases} \end{equation*}

    i.e.

    \begin{equation*} \begin{cases} d_0&&&&&=&4,\\ d_0&+&2d_1&&&=&-1,\\ d_0&+&5d_1&+&15d_2&=&12. \end{cases} \end{equation*}

    Ce système linéaire est déjà triangulé.

    • La première équation donne \(d_0=4\text{.}\)
    • La deuxième équation donne

      \begin{equation*} d_0+2d_1=-1\text{,} \end{equation*}

      d'où

      \begin{align*} 4+2d_1&=-1,\\ 2d_1&=-5,\\ d_1&=-\frac{5}{2}. \end{align*}
    • La troisième équation donne

      \begin{equation*} d_0+5d_1+5d_2=0\text{,} \end{equation*}

      d'où

      \begin{align*} 4-\frac{25}{2}+15d_2&=12,\\ 15d_2&=12-4+\frac{25}{2}=\frac{41}{2},\\ d_2&=\frac{41}{30}. \end{align*}

    La forme de Newton du polynôme interpolateur de ces trois points est donc

    \begin{equation*} N(t)=4-\frac{5}{2}t+\frac{41}{30}t(t-2). \end{equation*}
  2. Calculons les différences divisées des trois points :

    \begin{equation*} \begin{array}{c|ccc} x_i&y_i\\ \hline\\ 0&\left[A_0\right]=4&&\\ &&\left[A_0,A_1\right]=-\frac{5}{2}&\\ 2&\left[A_1\right]=-1&&\left[A_0,A_1,A_2\right]=\frac{41}{30}\\ &&\left[A_1,A_2\right]=\frac{13}{3}&\\ 5&\left[A_2\right]=12&& \end{array} \end{equation*}

    On trouve donc les mêmes coefficients qu'à la question précédente.

Déterminez la forme de Newton du polynôme interpolateur des trois points suivants :

\begin{equation*} A_0=(1;3),\; A_1=(2;6)\;\text{et}\; A_2=(3;9). \end{equation*}
  1. En résolvant un système linéaire.
  2. En utilisant les différences divisées.
Solution
  1. La forme de Newton du polynôme interpolateur de ces trois points s'écrit

    \begin{align*} N(t)&=d_0+d_1(t-x_0)+d_2(t-x_0)(t-x_1)\\ &=d_0+d_1(t-1)+d_2(t-1)(t-2). \end{align*}

    On cherche donc trois nombres réels \(d_0,d_1,d_2\) tels que

    \begin{equation*} \begin{cases}N(1)=3,\\N(2)=6,\\N(3)=9\end{cases} \end{equation*}

    i.e.

    \begin{equation*} \begin{cases} d_0&&&&&=&3,\\ d_0&+&d_1&&&=&6,\\ d_0&+&2d_1&+&2d_2&=&9. \end{cases} \end{equation*}

    Ce système linéaire est déjà triangulé.

    • La première équation donne \(d_0=3\text{.}\)
    • La deuxième équation donne \(d_0+d_1=6\text{,}\) d'où

      \begin{align*} 3+d_1&=6,\\ d_1&=3. \end{align*}
    • La troisième équation donne \(d_0+2d_1+2d_2=0\text{,}\) d'où

      \begin{align*} 3+6+2d_2&=9,\\ 2d_2&=0,\\ d_2&=0. \end{align*}

    La forme de Newton du polynôme interpolateur de ces trois points est donc

    \begin{equation*} N(t)=3+3(t-1)+0(t-1)(t-2)=3+3(t-1). \end{equation*}
  2. Calculons les différences divisées des trois points :

    \begin{equation*} \begin{array}{c|ccc} x_i&y_i\\ \hline\\ 1&\left[A_0\right]=3&&\\ &&\left[A_0,A_1\right]=3&\\ 2&\left[A_1\right]=6&&\left[A_0,A_1,A_2\right]=0\\ &&\left[A_1,A_2\right]=3&\\ 3&\left[A_2\right]=9&& \end{array} \end{equation*}

    On trouve donc les mêmes coefficients qu'à la question précédente.

Remarque : En regardant les trois points à interpoler de plus près, on s'aperçoit qu'il sont alignés car ils appartiennent tous les trois à la droite d'équation

\begin{equation*} y=3x. \end{equation*}

Leur polynôme interpolateur est donc le polynôme dont le graphe correspond à cette droite, c'est-à-dire

\begin{equation*} P(x)=3x. \end{equation*}

Pour donner sa forme de Newton, il suffit d'effectuer la transformation algébrique suivante :

\begin{equation*} P(x)=3x-3+3=3(x-1)+3. \end{equation*}

Ajoutez le point \(A_3=(4;0)\) aux points \(A_0=(1;3),A_1=(2;6)\) et \(A_2=(3;9)\) de l'exercice 7.3.4.

Déterminez la forme de Newton du polynôme interpolateur de ces quatre points en faisant le moins de calculs possible.

Solution

La forme de Newton du polynôme interpolateur de ces quatre points s'écrit

\begin{align*} N(t)&=d_0+d_1(t-x_0)+d_2(t-x_0)(t-x_1)+d_3(t-x_0)(t-x_1)(t-x_2)\\ &=d_0+d_1(t-1)+d_2(t-1)(t-2)+d_3(t-1)(t-2)(t-3). \end{align*}

On cherche donc quatre nombres réels \(d_0,d_1,d_2,d_3\) tels que

\begin{equation*} \begin{cases}N(1)=3,\\N(2)=6,\\N(3)=9,\\N(4)=0,\end{cases} \end{equation*}

i.e.

\begin{equation*} \begin{cases} d_0&&&&&&&=&3,\\ d_0&+&d_1&&&&&=&6,\\ d_0&+&2d_1&+&2d_2&&&=&9,\\ d_0&+&3d_1&+&6d_2&+&6d_3&=&0.\\ \end{cases} \end{equation*}

Le système correspondant aux trois premières équations a déjà été résolu à l'exercice 7.3.4, donc

\begin{equation*} d_0=3,\; d_1=3,\; d_2=0. \end{equation*}

La quatrième équation donne \(d_0+3d_1+6d_2+6d_3=0\text{,}\) d'où

\begin{align*} 3+9+0+6d_3&=0,\\ 6d_3&=-12,\\ d_3&=-2. \end{align*}

La forme de Newton du polynôme interpolateur de ces quatre points est donc

\begin{equation*} N(t)=3+3(t-1)-2(t-1)(t-2)(t-3). \end{equation*}

On s'intéresse au polynôme interpolateur des quatre points suivants :

\begin{equation*} A_0=(-2;0),\; A_1=(-1;3),\; A_2=(2;-1)\;\text{et}\; A_3=(3;7). \end{equation*}
  1. Donnez sa forme de Lagrange \(L(t)\text{.}\)
  2. Donnez sa forme de Newton \(N(t)\text{.}\)
  3. Vérifiez que ces deux formes correspondent bien au même polynôme, c'est-à-dire que \(L(t)=N(t)\text{.}\)
Solution
  1. On a

    \begin{align*} L(t)&=y_0\,L_0(t)+y_1\,L_1(t)+y_2\,L_2(t)+y_3\,L_3(t)\\ &=0\,L_0(t)+3\,L_1(t)-L_2(t)+7\,L_3(t)\\ &=3\frac{(t+2)(t-2)(t-3)}{(-1+2)(-1-2)(-1-3)}-\frac{(t+2)(t+1)(t-3)}{(2+2)(2+1)(2-3)}\\ &\qquad +7\frac{(t+2)(t+1)(t-2)}{(3+2)(3+1)(3-2)}\\ &=\frac{1}{4}(t+2)(t-2)(t-3)+\frac{1}{12}(t+2)(t+1)(t-3)\\ &\qquad +\frac{7}{20}(t+2)(t+1)(t-2). \end{align*}
  2. Calculons les différences divisées de ces quatre points :

    \begin{equation*} \begin{array}{c|cccc} x_i&y_i&&&\\ \hline\\ -2&0&&&\\ &&3&&\\ -1&3&&-\frac{13}{12}&\\ &&-\frac{4}{3}&&\frac{41}{60}\\ 2&-1&&\frac{28}{12}&\\ &&8&&\\ 3&7&&&\\ \end{array} \end{equation*}

    La forme de Newton de leur polynôme interpolateur est donc

    \begin{align*} N(t)&=0+3(t+2)-\frac{13}{12}(t+2)(t+1)+\frac{41}{60}(t+2)(t+1)(t-2)\\ &=3(t+2)-\frac{13}{12}(t+2)(t+1)+\frac{41}{60}(t+2)(t+1)(t-2). \end{align*}
  3. C'est fastidieux. Cliquez ici pour une preuve visuelle avec Desmos.

Déterminez le polynôme interpolateur \(P(t)\) des points donnés en utilisant la technique des différences divisées :

  1. \((-2;3),(1;-3),(7;2)\text{;}\)
  2. \((-2;-2),(-1;2),(5;7)\text{;}\)
  3. \((1;3),(2;-3),(4;-5),(5;8)\text{;}\)
  4. \((-1;3),(4;7),(6;-3),(10;2)\text{.}\)
Solution
  1. Calculons les différences divisées des trois points :

    \begin{equation*} \begin{array}{c|ccc} x_i&y_i\\ \hline\\ -2&3&&\\ &&\frac{-3-3}{1+2}=-2&\\ 1&-3&&\frac{\frac{5}{6}+2}{7+2}=\frac{17}{54}\\ &&\frac{2+3}{7-1}=\frac{5}{6}&\\ 7&2&& \end{array} \end{equation*}

    Donc

    \begin{equation*} P(t)=3-2(t+2)+\frac{17}{54}(t+2)(t-1). \end{equation*}
  2. Calculons les différences divisées des trois points :

    \begin{equation*} \begin{array}{c|ccc} x_i&y_i\\ \hline\\ -2&-2&&\\ &&\frac{2+2}{-1+2}=4&\\ -1&2&&\frac{\frac{5}{6}-4}{5+2}=-\frac{19}{42}\\ &&\frac{7-2}{5+1}=\frac{5}{6}&\\ 5&7&& \end{array} \end{equation*}

    Donc

    \begin{equation*} P(t)=-2+4(t+2)-\frac{19}{42}(t+2)(t+1). \end{equation*}
  3. Calculons les différences divisées de ces quatre points :

    \begin{equation*} \begin{array}{c|cccc} x_i&y_i&&&\\ \hline\\ 1&3&&&\\ &&\frac{-3-3}{2-1}=-6&&\\ 2&-3&&\frac{-1+6}{4-1}=\frac{5}{3}&\\ &&\frac{-5+3}{4-2}=-1&&\frac{\frac{14}{3}-\frac{5}{3}}{5-1}=\frac{3}{4}\\ 4&-5&&\frac{13+1}{5-2}=\frac{14}{3}&\\ &&\frac{8+5}{5-4}=13&&\\ 5&8&&&\\ \end{array} \end{equation*}

    Donc

    \begin{equation*} P(t)=3-6(t-1)+\frac{5}{3}(t-1)(t-2)+\frac{3}{4}(t-1)(t-2)(t-4). \end{equation*}
  4. Calculons les différences divisées de ces quatre points :

    \begin{equation*} \begin{array}{c|cccc} x_i&y_i&&&\\ \hline\\ -1&3&&&\\ &&\frac{7-3}{4+1}=\frac{4}{5}&&\\ 4&7&&\frac{-5-\frac{4}{5}}{6+1}=-\frac{29}{35}&\\ &&\frac{-3-7}{6-4}=-5&&\frac{\frac{25}{24}+\frac{29}{35}}{10+1}=\frac{1571}{9240}\\ 6&-3&&\frac{\frac{5}{4}+5}{10-4}=\frac{25}{24}&\\ &&\frac{2+3}{10-6}=\frac{5}{4}&&\\ 10&2&&&\\ \end{array} \end{equation*}

    Donc

    \begin{equation*} P(t)=3+\frac{4}{5}(t+1)-\frac{29}{35}(t+1)(t-4)+\frac{1571}{9240}(t+1)(t-4)(t-6). \end{equation*}

On a commencé à remplir la table de différences divisées suivante :

\begin{equation*} \begin{array}{c|cccc} x_i&y_i&&&\\ \hline\\ 0{,}8&0{,}717\,356&&&\\ &&0{,}579\,503&&\\ 1{,}1&0{,}891\,207&&&\\ &&0{,}265\,720&&\\ 1{,}5&0{,}997\,495&&&\\ &&-0{,}029\,150&&\\ 1{,}7&0.991\,665&&&\\ \end{array} \end{equation*}

On note

\begin{equation*} A_0=(0{,}8;0{,}717\,356),\quad A_1=(1{,}1;0{,}891\,207), \end{equation*}
\begin{equation*} A_2=(1{,}5;0{,}997\,495),\quad A_3=(1{,}7;0{,}991\,665). \end{equation*}

Au besoin, tous les nombres seront arrondis à la sixième décimale.

  1. Complétez la table.
  2. Déterminez \(P(t)\) le polynôme interpolateur des points \(A_0,A_1\) et \(A_2\text{.}\)
  3. Déterminez \(Q(t)\) le polynôme interpolateur des points \(A_1,A_2\) et \(A_3\text{.}\)
  4. Sachant que les points de départ sont pris sur le graphe de la fonction \(\sin(t)\text{,}\) comparez les nombres \(P(1{,3})\) et \(Q(1{,}3)\) à la valeur dont ils sont une approximation.
Solution
  1. On a

    \begin{equation*} \begin{array}{c|cccc} x_i&y_i&&&\\ \hline\\ 0{,}8&0{,}717\,356&&&\\ &&0{,}579\,503&&\\ 1{,}1&0{,}891\,207&&-0{,}448\,261&\\ &&0{,}265\,720&&-0{,}047\,988\\ 1{,}5&0{,}997\,495&&-0{,}491\;450&\\ &&-0{,}029\,150&&\\ 1{,}7&0{,}991\,665&&&\\ \end{array} \end{equation*}
  2. On déduit de la question 1 que

    \begin{equation*} P(t)=0{,}717\,356+0{,}579\,503(t-0{,}8)-0{,}448\,261(t-0{,}8)(t-1{,}1). \end{equation*}
  3. On déduit de la question 1 que

    \begin{equation*} Q(t)=0{,}891\,207+0{,}265\,720(t-1{,}1)-0{,}491\;450(t-1{,}1)(t-1{,}5). \end{equation*}
  4. D'une part, on a

    \begin{align*} P(1{,}3)&=0{,}717\,356+0{,}579\,503(1{,}3\\ &\qquad-0{,}8)-0{,}448\,261(1{,}3-0{,}8)(1{,}3-1{,}1)\\ &\approx 0{,}962\,281. \end{align*}

    D'autre part, on a

    \begin{align*} Q(1{,}3)&=0{,}891\,207+0{,}265\,720(1{,}3-1{,}1)\\ &\qquad-0{,}491\;450(1{,}3-1{,}1)(1{,}3-1{,}5)\\ &\approx 0{,}964\,009. \end{align*}

    Par ailleurs, on a

    \begin{equation*} \sin(1{,}3)\approx 0{,}963\,558. \end{equation*}

    Donc \(P(1{,}3)\) constitue une approximation de \(\sin(1{,}3)\) qui lui est inférieure, tandis que \(Q(1{,}3)\) est une approximation supérieure.

Selon Statistique Canada, la quantité de cheddar (en grammes par personne par année) disponible au Canada a suivi l'évolution suivante de 2014 à 2018 :

\begin{equation*} \begin{array}{|c|c|} \hline \text{Année}&\text{Cheddar disponible}\\ \hline 2014&3310\\ 2015&3220\\ 2016&?\\ 2017&3510\\ 2018&4130\\ \hline \end{array} \end{equation*}

Malheureusement, il nous manque une donnée pour l'année 2016.

  1. Déterminez la forme de Newton du polynôme interpolateur des quatre points pour lesquels les données sont connues.
  2. Utilisez le polynôme interpolateur pour estimer la donnée manquante.
Solution
  1. Voici la table des différences divisées :

    \begin{equation*} \begin{array}{c|cccc} x_i&y_i&&&\\ \hline\\ 2014&3310&&&\\ &&-90&&\\ 2015&3220&&\frac{235}{3}&\\ &&145&&20\\ 2017&3510&&\frac{475}{3}&\\ &&620&&\\ 2018&4130&&&\\ \end{array} \end{equation*}

    La forme de Newton du polynôme interpolateur est donc

    \begin{align*} P(t)&=3310-90(t-2014)+\frac{235}{3}(t-2014)(t-2015)\\ &\qquad +20(t-2014)(t-2015)(t-2017). \end{align*}
  2. On en déduit l'estimation suivante pour la donnée manquante :

    \begin{align*} P(2016)&=3310-90\cdot 2+\frac{235}{3}\cdot 2\cdot 1+20\cdot 2\cdot 1\cdot(-1)\\ &\approx 3247. \end{align*}

Voici les temps de course de Victor en fonction des distances sur lesquelles il a déjà été chronométré :

\begin{equation*} \begin{array}{|c|c|} \hline \text{Distance en mètres}&\text{Temps en secondes}\\ \hline 1\,500&362\\ 5\,000&1275\\ 10\,000&2674\\ 21\,097{,}5&5577\\ \hline \end{array} \end{equation*}

Utilisez ces données pour prédire par interpolation polynomiale le temps qu'il mettra lors de la prochaine course de \(15\) kilomètres à laquelle il participera.

Solution

En utilisant le code donné à la section 7.2, on obtient les différences divisées de ces quatre points et on en déduit la forme de Newton de son polynôme interpolateur :

\begin{align*} P(t)&\approx 362\\ &\quad+0{,}260857142857(t-1500)\\ &\quad+2{,}22857142857\cdot 10^{-6}(t-1500)(t-5000)\\ &\quad-1{,}71438966056\cdot 10^{-10}(t-1500)(t-5000)(t-10000). \end{align*}

On calcule alors \(P(15000)\) et on trouve

\begin{equation*} P(15000)\approx 4069. \end{equation*}

On estime ainsi que Victor mettra \(4069\) secondes, i.e.

\begin{equation*} 1\,\text{heure}\;07\,\text{minutes}\;49\,\text{secondes} \end{equation*}

environ pour courir son prochain \(15\) kilomètres.

Démontrez le théorème 7.1.5 dans le cas \(n=2\text{.}\)

Solution

Soit \(A_0=(x_0;y_0),A_1=(x_1;y_1)\) et \(A_2=(x_2;y_2)\) trois points d'abscisses distinctes deux à deux. La forme de Newton de leur polynôme annulateur s'écrit

\begin{equation*} N(t)=d_0+d_1(t-x_0)+d_2(t-x_0)(t-x_1). \end{equation*}

On cherche donc trois nombres réels \(d_0,d_1,d_2\) tels que

\begin{equation*} \begin{cases}N(x_0)=y_0,\\N(x_1)=y_1,\\N(x_2)=y_2,\end{cases} \end{equation*}

i.e.

\begin{equation*} \begin{cases} d_0&=&y_0,\\ d_0+(x_1-x_0)d_1&=&y_1,\\ d_0+(x_2-x_0)d_1+(x_2-x_0)(x_2-x_1)d_2&=&y_2.\\ \end{cases} \end{equation*}

Ce système linéaire est déjà triangulé.

  • La première équation donne \(d_0=y_0\text{.}\)
  • La deuxième équation donne \(d_0+(x_1-x_0)d_1=y_1\text{,}\) d'où

    \begin{align*} y_0+(x_1-x_0)d_1&=y_1,\\ (x_1-x_0)d_1&=y_1-y_0,\\ d_1&=\frac{y_1-y_0}{x_1-x_0}. \end{align*}
  • La troisième équation donne \(d_0+(x_2-x_0)d_1+(x_2-x_0)(x_2-x_1)d_2=y_2\text{,}\) d'où

    \begin{align*} &y_0+(x_2-x_0)\frac{y_1-y_0}{x_1-x_0}+(x_2-x_0)(x_2-x_1)d_2=y_2,\\ &(x_2-x_0)(x_2-x_1)d_2=y_2-y_0-(x_2-x_0)\frac{y_1-y_0}{x_1-x_0},\\ &(x_2-x_0)(x_2-x_1)d_2=y_2-y_1+y_1-y_0-(x_2-x_0)\frac{y_1-y_0}{x_1-x_0},\\ &(x_2-x_0)(x_2-x_1)d_2=y_2-y_1+\left(x_1-x_0-(x_2-x_0)\right)\frac{y_1-y_0}{x_1-x_0},\\ &(x_2-x_0)(x_2-x_1)d_2=y_2-y_1+\left(x_1-x_2\right)\frac{y_1-y_0}{x_1-x_0},\\ &d_2=\frac{y_2-y_1}{(x_2-x_0)(x_2-x_1)}+\left(x_1-x_2\right)\frac{y_1-y_0}{(x_1-x_0)(x_2-x_0)(x_2-x_1)},\\ &d_2=\frac{y_2-y_1}{(x_2-x_0)(x_2-x_1)}-\frac{y_1-y_0}{(x_1-x_0)(x_2-x_0)},\\ &d_2=\frac{\frac{y_2-y_1}{x_2-x_1}-\frac{y_1-y_0}{x_1-x_0} }{x_2-x_0}. \end{align*}

La forme de Newton du polynôme interpolateur de ces trois points est donc

\begin{equation*} N(t)=y_0+\frac{y_1-y_0}{x_1-x_0}(t-x_0)+\frac{\frac{y_2-y_1}{x_2-x_1}-\frac{y_1-y_0}{x_1-x_0} }{x_2-x_0}(t-x_0)(t-x_1), \end{equation*}

i.e.

\begin{equation*} N(t)=\left[A_0\right]+\left[A_0,A_1\right](t-x_0)+\left[A_0,A_1,A_2\right](t-x_0)(t-x_1). \end{equation*}

Modifiez le code donné à la section 7.2 afin qu'il affiche la forme de Newton du polynôme interpolateur.

Testez votre code avec l'exemple 7.1.6 qui doit donner

\begin{equation*} N(t)=-3+10(t-1)-\frac{17}{2}(t-1)(t-2)+\frac{29}{6}(t-1)(t-2)(t-3), \end{equation*}

i.e.

4.833333333333333*(t - 1.0)*(t - 2.0)*(t - 3.0) - 8.5*(t - 1.0)*(t - 2.0) + 10.0*t - 13.0

Indication

Il faut essentiellement ajouter une boucle permettant de calculer les polynômes de base \(N_j(t)\) à l'intérieur d'une boucle additionnant les \(d_j\cdot N_j(t)\text{.}\)

Solution

Il faut essentiellement ajouter une boucle permettant de calculer les polynômes de base \(N_j(t)\) à l'intérieur d'une boucle additionnant les \(d_j\cdot N_j(t)\text{.}\) Cela donne :

# entrées :
n = 3
x = [1.0, 2.0, 3.0, 4.0]
y = [-3.0, 7.0, 0.0, 5.0]
var('t') # ligne ajoutée
# instructions :
diffDiv = [y]
for j in range(1, n+1):
    nouvelleColonne = []
    for i in range(0, n-j+1):
        nouvelleDiffDiv = (diffDiv[j-1][i+1] - diffDiv[j-1][i]) / (x[i+j] - x[i])
        nouvelleColonne.append(nouvelleDiffDiv)
    diffDiv.append(nouvelleColonne)
N = diffDiv[0][0] # ligne ajoutée
for j in range(1, n+1): # ligne ajoutée
    Nj = 1 # ligne ajoutée
    for i in range(0, j): # ligne ajoutée
        Nj = Nj * (t - x[i]) # ligne ajoutée
    N = N + diffDiv[j][0] * Nj # ligne ajoutée
# sortie :
print(N) # ligne modifiée