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 HP PPL

O programa que implementa a tabela de diferença divididas em HP PPL é apresentado a seguir:

EXPORT div_dividida()
BEGIN
PRINT();
  LOCAL matriz;
  LOCAL tamanho, i, j;
  M1 := [[-1, 1.5, 2.5, 4], [-3, -1.75, 12.75, 87]]; //Pontos em M1
  matriz := transpose(M1);
  tamanho := SIZE(matriz);
  M2 := transpose(row(M1, 2));
  FOR i FROM 2 TO tamanho(1) DO
    FOR j FROM 1 TO tamanho(1)-i+1 DO
      M2(j, i):=(M2(j+1, i-1)-M2(j, i-1))/(matriz( j+i-1, 1)-matriz( j, 1));
    END;
  END;
  M2 := addcol(M2, col(matriz, 1), 1);
  MSGBOX("Resultado em M2:");
  EDITMAT(M2);                                                                             
END;

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} \]