Método de Newton - Diferenças Divididas

Supondo que \(P_n(x)\) é o \(n\) polinômio de Lagrange, que atende a função \(f\) nos valores distintos \(x_1, x_2, \ldots, x_n\). Como esse polinômio é único, há representações algébricas alternativas que são úteis em certas situações. A diferença dividida de \(f\) relacionado com os pontos \(x_1, x_2, \ldots, x_n\) pode ser expresso na forma:

\[P_n(x) = a_0 + a_1(x-x_1) + a_2(x-x_1)(x-x_2) + \ldots + a_n(x-x_1)\cdot \cdot \cdot (x-x_{n})\]

Para determinar a primeira constante \(a_0\), \(P_n(x)\) pode ser escrita na forma:

\[a_0 = P_n(x_1) = f(x_1) \]

Similarmente, quando \(P_n(x)\) é avaliado no ponto \(x_2\), o termo não-zero de \(P_n(x_2)\) é:

\[f(x_1)+a_1(x-x_1) = P_n(x_2) = f(x_2) \]

Portanto:

\[a_1 = \frac{f(x_2)-f(x_1) }{x_2-x_1} \]

A 0-ésima diferença dividida da função \(f\) em relação a \(x_i\), denotada por \(f[x_i]\) é simplesmente o valor de \(f\) no ponto \(x_i\):

\[f[x_i] = f(x_i)\]

As outras diferenças divididas são definidas recursivamente. A primeira diferença dividida de \(f\) em relação a \(x_i\) e \(x_{i+1}\), denotada por \(f[x_i, x_{x+1}]\) é definida por:

\[f[x_i, x_{x+1}] = \frac{f[x_{i+1}]-f[x_{i}]}{x_{i+1}-x_{i}} \]

A segunda diferença dividida, representada por \(f[x_i, x_{x+1}, x_{x+2}]\) é definida por:

\[f[x_i, x_{x+1}, x_{x+2}] = \frac{f[x_{i+1}, x_{i+2}]-f[x_i,x_{i+1}]}{x_{i+2}-x_{i}} \]

Similarmente, após a \((k-1)\)-ésima diferença dividida:

\[f[x_i, x_{x+1},\ldots,x_{i+k-1}, x_{i+k}] = \frac{ f[x_{i+1}, x_{i+2},\dots, x_{i+k}]-f[x_{i}, x_{i+1},\dots, x_{i+k-1}]} {x_{i+k}-x_{i}} \]

Esse processo termina com uma N-ésima diferença dividida:

\[f[x_0, x_{1},\ldots, x_{n}] = \frac{f[x_{1}, x_{2},\dots, x_{n}]-f[x_{0},x_{1},\dots, x_{n-1}]} {x_{n}-x_{0}} \]

Para facilitar a visualização das diferenças divididas é utilizada a tabela:

\(x\) \(f(x)\) 1ª Dif. Dividida (\(\triangledown^1_{y_i}\)) 2ª Dif. Dividida (\(\triangledown^2_{y_i}\)) 3ª Dif. Dividida (\(\triangledown^3_{y_i}\))
\(x_1\) \(f[x_1]\) \(f[x_1, x_2] = \frac{f[x_2]-f[x_1]}{x_2-x_1}\) \(f[x_1, x_2, x_3] = \frac{f[x_2, x_3]-f[x_1, x_2]}{x_3-x_1}\) \(f[x_1, x_2, x_3,x_4] = \frac{f[x_2, x_3,x_4]-f[x_1, x_2,x_3]}{x_4-x_1}\)
\(x_2\) \(f[x_2]\) \(f[x_2, x_3] = \frac{f[x_3]-f[x_2]}{x_3-x_2}\) \(f[x_2, x_3, x_4] = \frac{f[x_3, x_4]-f[x_2, x_3]}{x_4-x_2}\)  
\(x_3\) \(f[x_3]\) \(f[x_3, x_4] = \frac{f[x_4]-f[x_3]}{x_4-x_3}\)    
\(x_4\) \(f[x_4]\)      
Exemplo de cálculo da Tabela de diferenças divididas

Para elucidar a construção da Tabela de diferenças divididas através de um exemplo. Veja os pontos:

x \( -1\) \( 1.5\) \( 2.5\) \( 4\)
y \(-3\) \(-1.75\) \(12.75\) \(87\)

Desenvolvendo a tabela:

\(x\) \(f(x)\) 1ª Dif. Dividida (\(\triangledown^1_{y_i}\)) 2ª Dif. Dividida (\(\triangledown^2_{y_i}\)) 3ª Dif. Dividida (\(\triangledown^3_{y_i}\))
\(-1\) \(-3\) \(\frac{-1.75-(-3)}{1.5-(-1)} = 0.5\) \(\frac{14.5-0.5}{2.5-(-1)} = 4\) \(\frac{14-4}{4-(-1)} = 2\)
\(1.5\) \(-1.75\) \(\frac{12.75-(-1.75)}{2.5-1.5} = 14.5\) \(\frac{49.5-14.5}{4-1.5} = 14\)  
\(2.5\) \(12.75\) \(\frac{87-12.75}{4-2.5} = 49.5\)    
\(4\) \(87\)      

E o resultado:

\(x\) \(f(x)\) 1ª Dif. Dividida (\(\triangledown^1_{y_i}\)) 2ª Dif. Dividida (\(\triangledown^2_{y_i}\)) 3ª Dif. Dividida (\(\triangledown^3_{y_i}\))
\(-1\) \(-3\) \(0.5\) \(4\) \(2\)
\(1.5\) \(-1.75\) \(14.5\) \(14\)  
\(2.5\) \(12.75\) \(49.5\)    
\(4\) \(87\)      

Programação em Python

O programa que implementa a tabela de diferenças divididas em Python é apresentado a seguir:

pontos = [(-1, -3), (1.5, -1.75), (2.5, 12.75), (4, 87)]
x = [p[0] for p in pontos]
tabela = [[p[1]] for p in pontos]

for ordem in range(1, len(pontos)):
    for linha in range(len(pontos) - ordem):
        valor = (tabela[linha + 1][ordem - 1] - tabela[linha][ordem - 1]) / (x[linha + ordem] - x[linha])
        tabela[linha].append(valor)

for linha, valores in zip(x, tabela):
    print(linha, valores)

Atividades

Determine a tabela de diferenças divididas dos pontos das questões:

  • \[ \begin{matrix} \textbf{x} &-2 &-0.5 &0.5 &1 \\ \hline \textbf{y} &12 &-1.5 &-3 &-6 \end{matrix} \]
  • \[ \begin{matrix} \textbf{x} &-2 &0 &0.5 &1 &2 \\ \hline \textbf{y} &-21 &-1 &-2.25 &-3 &3 \end{matrix} \]
  • \[ \begin{matrix} \textbf{x} &-2 &-1.5 &-0.5 &0.5 &1 &1.5 \\ \hline \textbf{y} &35 &8.375 &-2.125 &-0.625 &-1 &0.875 \end{matrix} \]