3.1.2 Aproximação de Funções — Interpolação — Polinômios de Interpolação

1. Polinômios Interpoladores

O problema geral da interpolação polinomial consiste em, dados \(n+1 \) pontos tabulares distintos \((x_0, f(x_0)), (x_1, f(x_1)), \ldots, (x_n, f(x_n)) \), determinar um polinômio de grau \(n \) tal que \(y = P_n(x) \) que obedeça

\( P_n(x_0) = f(x_0), P_n(x_1) = f(x_1), \ldots, P_n(x_n) = f(x_n) \)

e que seja único para todos pontos \(x_j \) distintos.

Chamamos de polinômio interpolador de uma função \(f(x) = y \) sobre um conjunto de pontos distintos \(x_0,x_1,\ldots,x_n \) ao polinômio de grau \(n \) que coincide com \(f(x) \) em \(x_0,x_1,\ldots, x_n \) . Tal polinômio será denotado por \(P_n(x) \) .

Uma propriedade fundamental para formação de um polinômio interpolador caracteriza qual será a relação entre o grau do polinômio gerado — e, eventualmente, a precisão da aproximação — e o número de pontos tabulares disponíveis. Para isso, dados \(n + 1 \) pontos distintos \(x_0, x_1,\ldots,x_n \) e \(x_{n+1} \) valores de uma função \(y = f(x) \) sobre esses pontos, existe um único polinômio \(P_n(x) \) de grau máximo \(n \) tal que \(P_n(x_k) = f(x_k) \) , \(k=0,1,\ldots,n \).

Prova: Para \(P_n(x) = a_0 + a_1x + \ldots + a_nx^n \) polinômio de grau \(n \) , com \(n+1 \) coeficientes \(a_0,a_1,\ldots,a_n \) a serem determinados. Sabemos que \(P_n(x_j) = y_j = f(x_j) \) . Portanto, para cada \(x_j \) valores tabulares, teremos uma equação associada, gerando um total de \(n+1 \) equações, uma vez que \(j=0,1,\ldots,n \) :

\( a_0 + a_1 x_0 + \ldots + a_n x_0^n = y_0 = f(x_0) \)
\( a_0 + a_1 x_1 + \ldots + a_n x_1^n = y_1 = f(x_1) \)
\( \vdots \hspace{50pt} \vdots \)
\( a_0 + a_1 x_n + \ldots + a_n x_n^n = y_n = f(x_n) \)

Neste caso, queremos determinar os coeficientes \(a_0,a_1,\ldots,a_n \) , e não temos dependência em \(x \) nas incógnitas. Assim, podemos tratar este sistema como sendo um sistema linear para os coeficientes \(a_j \) , caracterizado pelo determinante de Vandermonde[3]:

\( V = V(x_0,x_1,\ldots,x_n) =
\left[ \begin{array}{cccc}
1 & x_0 & \ldots & x_0^n \\
1 & x_1 & \ldots & x_1^n \\
\vdots & \ldots & \ddots & \vdots \\
1 & x_n & \ldots & x_n^n \end{array}
\right] \)

Para calcularmos \(V \) , consideraremos este determinando uma função dependente de \(x \) definida por:

\( V(x) = V(x_0,x_1,\ldots,x_{n-1}, x) =
\left[ \begin{array}{cccc}
1 & x_0 & \ldots & x_0^n \\
1 & x_1 & \ldots & x_1^n \\
\vdots & \ldots & \ddots & \vdots \\
1 & x_{n-1} & \ldots & x_{n-1}^n \\
1 & x & \ldots & x^n \end{array}
\right] \)

A função \(V(x) \) é um polinômio de grau menor que \(n \) , que se anula em todos pontos \(x_0, x_1, \ldots, x_{n-1} \) . Desta maneira, podemos escrever \(V \) como um polinômio:

\( V(x_0,x_1,\ldots,x_{n-1},x) = A (x-x_0) (x-x_1) \ldots (x-x_{n-1}) \)

onde \(A \) é o coeficiente do termo de maior grau, que depende das variáveis \(x_j \) . Para determinarmos \(A \) , desenvolvemos o sistema que caracteriza \(V(x) \) , substituindo a última linha, permitindo que a última equação seja reescria como:

\( V(x_0,x_1,\ldots,x_{n-1},x) = V(x_0,x_1,\ldots,x_{n-1})(x-x_0)\ldots(x-x_{n-1}) \)

Substituindo \(x \) por \(x_n \) , conseguimos a fórmula de recorrência:

\( V(x_0,x_1,\ldots,x_{n-1},x_n) = V(x_0,x_1,\ldots,x_{n-1})(x_n-x_0)\ldots(x_n-x_{n-1}) \)

onde \(V(x_0,x_1) = x_1 – x_0 \) . Utilizando isto, temos que

\( V(x_0,x_1,x_2) = (x_1 – x_0)(x_2 – x_0)(x2 – x_1) \)

pela recorrência, aplicamos sucessivas substituições para obtermos

\( V(x_0,x_1,\ldots,x_n) = \prod_{i>j} (x_i – x_j) \)

Por hipótese, os pontos \(x_0,x_1,\ldots,x_n \) são distintos. Portanto, \(V \neq 0 \) , levando o sistema a ter uma solução única.

As figuras abaixo ilustram alguns exemplos de interpolação. Note que os pontos denotados são os valores tabulares (obtidos de uma amostragem real), enquanto que as linhas são as funções ajustadas. Note que na interpolação polinomial, devemos ter ao menos uma unidade a mais que o grau do polinômio interpolador.

 

2. Copyright

Este documento é disponível sob a licença Creative Commons. As regras dos direitos de cópia deste conteúdo estão acessíveis em http://creativecommons.org/licenses/by-nc-nd/2.5/br/.

References

[1] Anthony Ralston and Philip Rabinowitz, A First Course in Numerical Analysis (2nd ed.), McGraw-Hill and Dover, (2001), 423-424.

[2] N.B Franco, Cálculo Numérico, Pearson Prentice Hall, (2006), 69.

[3] http://www.proofwiki.org/wiki/Vandermonde_Determinant