Polinomul de interpolare Newton

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

În analiză numerică, polinomul de interpolare Newton, numit după inventatorul său Isaac Newton, este polinomul de interpolare, exprimat sub forma Newton, folosind diferențe divizate.

Definiție[modificare | modificare sursă]

Având un set de k + 1 puncte de date diferite între ele:

(x_0, y_0),\ldots,(x_k, y_k)

polinomul de interpolare în forma Newton este o combinație liniară din polinoamele Newton polinoame de bază

N(x) := \sum_{j=0}^{k} a_{j} n_{j}(x)

unde polinoamele Newton de bază sunt definite astfel:

n_j(x) := \prod_{i=0}^{j-1} (x - x_i)

pentru j>0 și n_0(x) \equiv 1. Coeficienții sunt definiți ca:

a_j := [y_0,\ldots,y_j]

unde

[y_0,\ldots,y_j]

sunt diferențele divizate.

Astfel, polinomul Newton poate fi scris ca:

N(x) = [y_0] + [y_0,y_1](x-x_0) + \cdots + [y_0,\ldots,y_k](x-x_0)(x-x_1)\cdots(x-x_{k-1}).

"Polinomul Newton 'de mai sus poate fi exprimat într-o formă simplificată atunci când {x}_{0},{x}_{1},\dots,{x}_{k} sunt aranjate consecutiv, la distanțe egale. Introducând notația \displaystyle {h}={x}_{{i}+{1}}-{x}_{i} pentru fiecare i=0,1,\dots,k-1 și \displaystyle x=x_{0}+sh, diferența \displaystyle x-{x}_{i} poate fi scrisă ca \displaystyle (s-i)h. Deci, "polinomul Newton" de mai sus devine:

N(x)= [y_0] + [y_0,y_1]sh + \cdots + [y_0,\ldots,y_k] s (s-1) \cdots (s-k+1){h}^{k}

= \sum_{i=0}^{k}s(s-1) \cdots (s-i+1){h}^{i}[y_0,\ldots,y_i]= \sum_{i=0}^{k}{s \choose i}i!{h}^{i}[y_0,\ldots,y_i]

N(x)= \sum_{i=0}^{k}{s \choose i}i!{h}^{i}[y_0,\ldots,y_i]

se numește formula diferențelor divizate ale lui Newton".

În cazul în care nodurile sunt ordonate ca {x}_{k},{x}_{k-1},\dots,{x}_{0}, polinomul Newton devine:

N(x)=[y_k]+[{y}_{k}, {y}_{k-1}](x-{x}_{k})+\cdots+[{y}_{k},\ldots,{y}_{0}](x-{x}_{k})(x-{x}_{k-1})\cdots(x-{x}_{1})

Dacă{x}_{k},\;{x}_{k-1},\;\dots,\;{x}_{0} sunt la fel de distanțate cu x={x}_{k}+sh and {x}_{i}={x}_{k}-(k-i)h for i=0,\;1,\;\dots,\;k, atunci

N(x)= [{y}_{k}]+ [{y}_{k}, {y}_{k-1}]sh+\cdots+[{y}_{k},\ldots,{y}_{0}]s(s+1)\cdots(s+k-1){h}^{k}=\sum_{i=0}^{k}{(-1)}^{i}{-s \choose i}i!{h}^{i}[{y}_{k},\ldots,{y}_{k-i}]
N(x)=\sum_{i=0}^{k}{(-1)}^{i}{-s \choose i}i!{h}^{i}[{y}_{k},\ldots,{y}_{k-i}]

se numește formula diferențelor divizate inversate ale lui Newton".

Exemplu[modificare | modificare sursă]

Diferențele divizate pot fi scrise în forma unui tabel. De exemplu, pentru o funcție  f este de a fi interpolate pe puncte  x_0, \ ldots, x_n . Scriem

\begin{matrix}
   x_0 & f(x_0) &                                 & \\
       &        & {f(x_1)-f(x_0)\over x_1 - x_0}  & \\
   x_1 & f(x_1) &                                 & {{f(x_2)-f(x_1)\over x_2 - x_1}-{f(x_1)-f(x_0)\over x_1 - x_0} \over x_2 - x_0} \\
       &        & {f(x_2)-f(x_1)\over x_2 - x_1}  & \\
   x_2 & f(x_2) &                                 & \vdots \\
       &        & \vdots                          & \\
\vdots &        &                                 & \vdots \\
       &        & \vdots                          & \\
   x_n & f(x_n) &                                 & \\
\end{matrix}

Atunci polinomul de interpolare este format ca mai sus folosind mențiunile cel mai de sus din fiecare coloană ca coeficienți.

De exemplu, să presupunem că trebuie să construim polinomul de interpolare pentru f(x)=\tan{x} folosind diferențele divizate, la punctele

x_0=-1.5 x_1=-0.75 x_2=0 x_3=0.75 x_4=1.5
f(x_0)=-14.1014 f(x_1)=-0.931596 f(x_2)=0 f(x_3)=0.931596 f(x_4)=14.1014

Pentru utilizarea unei precizii de 6 zecimale, vom construi tabelul

\begin{matrix}
-1.5  & -14.1014  &         &          &          &\\
      &           & 17.5597 &          &          &\\
-0.75 & -0.931596 &         & -10.8784 &          &\\
      &           & 1.24213 &          & 4.83484  &  \\
0     & 0         &         & 0        &          & 0\\
      &           & 1.24213 &          & 4.83484  &\\
0.75  & 0.931596  &         & 10.8784  &          &\\
      &           & 17.5597 &          &          &\\
1.5   & 14.1014   &         &          &          &\\
\end{matrix}

Astfel, polinomul de interpolare este:\ -14.1014+17.5597(x+1.5)-10.8784(x+1.5)(x+0.75)

\ +4.83484(x+1.5)(x+0.75)(x)+0(x+1.5)(x+0.75)(x)(x-0.75)
\ =-0.00005-1.4775x-0.00001x^2+4.83484x^3

Având în vedere o acuratețe mai mare în tabel, coeficienții primul și al treilea vor fi egali cu zero.

Bibliografie[modificare | modificare sursă]

  • Constantin Ilioi, Probleme de optimizare și algoritmi de aproximare a soluțiilor, Editura Academiei Republicii Socialiste România, București, 1980.
  • www.utgjiu.ro/math/mbuneci/book/mn2009.pdf/ Metode numerice - Aspecte teoretice și practice, Mădălina Roxana Buneci, Editura Academică Brâncuși, Târgu Jiu, 2009
  • http://cs.upm.ro/~bela.finta/.files/carti/Numerika.pdf
  • www.vpetrehus.home.ro/Lectii_AN.pdf/ Lecții de analiză numerică, Viorel Petrehus, Universitatea Tehnică de Construcții București, 2010