Anda di halaman 1dari 6

1/6

4. INTERPOLAÇÃO
Em muitas situações reais, dispõe-se de um conjunto finito de valores
tabelados (x0, y0), (x1, y1), ..., (xn, yn) e deseja-se obter valores de y correspondentes a
valores de x não pertencentes à tabela. Nestas situações, a função y = f(x) pode ter
forma analítica desconhecida ou muito complexa.
Problemas desta natureza podem ser resolvidos através de interpolação —
técnica que consiste em encontrar uma função de aproximação para os dados
tabelados. Normalmente, as funções de aproximação utilizadas são polinômios, pois
podem ser obtidos de forma simples, bem como derivados e integrados com
facilidade.
Como exemplo, considere a tabela abaixo contendo os dados uma pesquisa
estatística com a finalidade de determinar a nota média de quatro grupos de
estudantes, em função do número de horas de estudo de cada grupo.
i t (horas) Nota
0 4,0 6,1
1 8,0 7,8
2 12,0 8,7
3 16,0 9,3

Para saber, por exemplo, qual seria a nota média obtida com 10 horas de
estudo, recorre-se à interpolação, a qual também permite resolver o problema
inverso: determinar o número de horas de estudo necessárias para a obtenção de
uma dada nota. A interpolação só permite estimar a função dentro do domínio
tabelado; fora deste domínio, deve-se utilizar outra técnica: a extrapolação.

4.1 Interpolação polinomial


Há um teorema segundo o qual, dados n+1 pontos (x0, y0), (x1, y1), ..., (xn, yn),
com xi ≠ xj para i ≠ j, existe um único polinômio P(x) de grau igual ou inferior a n, tal
que P(x) = yi, para todo i.
O polinômio interpolador P(x) é escrito sob a forma:
Pn ( x ) = a0 + a1 x + a2 x 2 + … + an x n ou
n
Pn ( x ) = ∑ ai xii
i =0

Sua determinação pode ser feita através de vários métodos, descritos a seguir.

UFGD / FACET – Prof. Wellington Lima dos Santos – Cálculo Numérico (notas de aula, 2010)
Observação: Estas notas de aula não foram suficientemente verificadas, portanto podem conter erros.
2/6

4.1.1. Resolução do sistema linear


O polinômio interpolador Pn(x) é obtido determinando-se os seus coeficientes
através da solução do sistema linear:

 Pn ( x0 ) = y0 a0 + a1 x0 + a2 x02 +  + an x0n = y0 1 x0 x02 … x0n a0 y0


  2 n
 Pn ( x1 ) = y1 a0 + a1 x1 + a2 x1 +  + an x1 = y1 1 x1 x12 … x1n a1 y1

 Pn ( x2 ) = y2 ⇒ a0 + a1 x2 + a2 x22 +  + an x2n = y2 ⇒ 1 x2 x22 … x2n a2 = y 2
          
 
 Pn ( xn ) = yn a0 + a1 xn + a2 xn +  + an xnn = yn
2
1 xn xn2 … xnn an yn

Exemplo:
Obter o polinômio interpolador para os dados da tabela do item 4 e o valor de P3(10).
Solução:
Os coeficientes do polinômio interpolador são obtidos através do sistema linear
1 4 4 2 4 3 a0 6,1
2 3
1 8 8 8 a1 7,8
=
1 12 12 2 12 3 a 2 8,7
1 16 16 2 16 3 a3 9,3
cuja solução é a = [31/10 229/240 –9/160 1/768]T.
31 229 x 9 x 2 x 3 31 229 ⋅10 9 ⋅10 2 10 3
Portanto, P3 ( x) = + − + e P3 (10) = + − + = 8,31875
10 240 160 768 10 240 160 768

4.1.2 Fórmula de Lagrange


O polinômio de grau igual ou inferior a n que passa pelos pontos (x0, y0),
(x1, y1), ..., (xn, yn) pode ser obtido com vantagens através da fórmula de Lagrange:
n n x − xj
Pn ( x) = ∑ yi ∏
i =0 j =0 xi − x j
j ≠i

Exemplo:
Obter o polinômio interpolador para os dados da tabela do item 4 e o valor de P3(10).
Solução:
Basta aplicar a fórmula de Lagrange:
( x − x1 ) ( x − x2 ) ( x − x3 ) ( x − x0 ) ( x − x2 ) ( x − x3 )
P3 ( x) = y0 + y1 +
( x0 − x1 ) ( x0 − x2 ) ( x0 − x3 ) ( x1 − x0 ) ( x1 − x2 ) ( x1 − x3 )
( x − x0 ) ( x − x1 ) ( x − x3 ) ( x − x0 ) ( x − x1 ) ( x − x2 )
y2 + y3
( x2 − x0 ) ( x2 − x1 ) ( x2 − x3 ) ( x3 − x0 ) ( x3 − x1 ) ( x3 − x2 )

UFGD / FACET – Prof. Wellington Lima dos Santos – Cálculo Numérico (notas de aula, 2010)
Observação: Estas notas de aula não foram suficientemente verificadas, portanto podem conter erros.
3/6

( x − 8) ( x − 12) ( x − 16) ( x − 4) ( x − 12) ( x − 16)


P3 ( x ) = 6,1 + 7,8 +
(4 − 8) (4 − 12) (4 − 16) (8 − 4) (8 − 12) (8 − 16)
( x − 4) ( x − 8) ( x − 16) ( x − 4) ( x − 8) ( x − 12)
8, 7 + 9,3
(12 − 4) (12 − 8) (12 − 16) (16 − 4) (16 − 8) (16 − 12)

31 229 x 9 x 2 x 3
P3 ( x) = + − + e P3 (10) = 8,31875
10 240 160 768

4.1.3 Fórmula de Newton


Nos problemas de interpolação, nem sempre se conhece, a priori, o grau
adequado para o polinômio interpolador. Um procedimento razoável para determiná-
lo consiste em aumentar gradativamente o grau do polinômio (considerando mais
pontos) e observar se houve melhoria nos cálculos. Portanto, é desejável que
durante a elevação do grau do polinômio, os cálculos efetuados em uma etapa
possam ser utilizados em outra. Diferentemente dos métodos de obtenção do
polinômio interpolador já apresentados, a fórmula de Newton resolve esta questão
com o uso de diferenças divididas.
Diferenças divididas, associadas a uma função y = f(x) representada pelos
pontos distintos (xi, yi) com i = 0, 1, 2, ..., n estão intimamente relacionados com o
conceito de derivada e são definidas de forma recursiva:
∆/ 0 yi = f [ xi ] = f ( xi ) = yi

∆/ 0 yi +1 − ∆/ 0 yi y − yi
∆/ 1 yi = f [ xi , xi +1 ] = i +1
xi +1 − xi xi +1 − xi

Generalizando, o cálculo da diferença dividida de ordem k, ∆/ k yi , requer k+1 pontos:

∆/ k −1 yi +1 − ∆/ k −1 yi
∆/ k yi = f [ xi , xi +1 ,..., xi +k ] =
xi + k − xi
A dedução da fórmula do polinômio interpolador de Newton pode ser feita de modo
recursivo, utilizando a definição de diferença dividida:
Pn ( x ) − Pn ( x0 )
P[ x, x0 ] =
x − x0
ou seja:
Pn ( x ) = Pn ( x0 ) + ( x − x0 ) P[ x, x0 ]

Porém,

UFGD / FACET – Prof. Wellington Lima dos Santos – Cálculo Numérico (notas de aula, 2010)
Observação: Estas notas de aula não foram suficientemente verificadas, portanto podem conter erros.
4/6

P[ x, x0 ] − P[ x, x1 ]
P[ x, x0 , x1 ] = ou
x − x1
P[ x, x0 ] = P[ x, x1 ] + ( x − x1 ) P[ x, x0 , x1 ]
substituindo a última equação na penúltima, tem-se:
Pn ( x ) = Pn ( x0 ) + ( x − x0 ) ( P[ x, x1 ] + ( x − x1 ) P[ x, x0 , x1 ]) ou
Pn ( x ) = Pn ( x0 ) + ( x − x0 ) P[ x, x1 ] + ( x − x0 ) ( x − x1 ) P[ x, x0 , x1 ]

a continuação deste desenvolvimento recursivo conduz à formula:


Pn ( x ) = y0 + ∆/ y0 ( x − x0 ) + ∆/ 2 y0 ( x − x0 )( x − x1 ) +  + ∆/ n y0 ( x − x0 )...( x − xn −1 )

ou
n
 i −1

Pn ( x ) = y0 + ∑  ∆/ i y0 ∏ ( x − x j ) 
i =1  j =0 

Como mencionando, uma vantagem do polinômio de Newton sobre o de Lagrange é


que a elevação do grau do mesmo requer apenas o acréscimo de um novo termo,
sem ter que recalcular o polinômio inteiramente.
Exemplo:
Solucionar o exemplo do item 4.1.2 utilizando a fórmula de Newton
Solução:
A tabela de diferenças divididas é:
i xi yi ∆/yi ∆/ 2 yi ∆/ 3 yi
0 4,0 6,1 7, 8 − 6,1 0, 225 − 0, 425 −0, 009375 − −0, 025 0, 015625
= 0, 425 = −0, 025 =
8−4 12 − 4 16 − 4 12
1 8,0 7,8 8, 7 − 7, 8 0,15 − 0, 225
= 0, 225 = −0, 009375 —
12 − 8 16 − 8
2 12,0 8,7 9, 3 − 8, 7
= 0,15 —
16 − 12
3 16,0 9,3 —

P3 ( x ) = y0 + ∆/ y0 ( x − x0 ) + ∆/ 2 y0 ( x − x0 )( x − x1 ) + ∆/ 3 y0 ( x − x0 )( x − x1 )( x − x2 )
0, 015625
P3 ( x ) = 6,1 + 0, 425( x − 4) − 0, 025( x − 4)( x − 8) + ( x − 4)( x − 8)( x − 12)
12

UFGD / FACET – Prof. Wellington Lima dos Santos – Cálculo Numérico (notas de aula, 2010)
Observação: Estas notas de aula não foram suficientemente verificadas, portanto podem conter erros.
5/6

4.1.4 Erro de truncamento na interpolação polinomial


É possível estimar um teto (limite superior) para erro cometido na interpolação
polinomial através da fórmula:
f ( n +1) ( β )
ET = ( x − x0 )( x − x1 )( x − x2 ) ( x − xn ) x0 ≤ β ≤ xn
( n + 1)!
Por se tratar de um limite superior, β deve-ser tal que f(n+1) (β) seja máximo no
intervalo.
Exemplo: Dados os valores tabelados de f(x)=cos(x), no intervalo [0 3], calcule o erro
máximo ao se interpolar o valor P3(1,5).

i x f(x)=cos(x)
0 0,0 1,00000000
1 1,0 0,54030231
2 2,0 –0,41614684
3 3,0 –0,98999250

(1,5 − 1) (1, 5 − 2) (1,5 − 3) (1,5 − 0) (1, 5 − 2) (1, 5 − 3)


P3 (1,5) = + 0,54030230 −
(0 − 1) (0 − 2) (0 − 3) (1 − 0) (1 − 2) (1 − 3)
(1,5 − 0) (1, 5 − 1) (1,5 − 3) (1,5 − 0) (1, 5 − 1) (1,5 − 2)
0,41614683 − 0,98999249
(2 − 0) (2 − 1) (2 − 3) (3 − 0) (3 − 1) (3 − 2)
P3 (1,5) = 0,06921198

Para calcular o erro máximo deve se calcular o valor máximo f ( n +1) ( β ) :

f ′( x) = − sin( x); f ′′( x) = − cos( x); f ′′′( x) = sin( x); f iv ( x) = cos( x)

No intervalo [0, 3] o máximo valor que f iv ( x) = cos( x) assume é f iv (0) = cos(0) = 1 .


Portanto, o erro máximo é:
cos(0)
ET = (1,5 − 0 )(1,5 − 1)(1, 5 − 2 )(1,5 − 3) = 0, 00260417
4!
Er = P3 (1,5) − cos(1, 5) = 0, 06921198 − 0, 0707372 = 0, 00152522 (< 0, 00260417!)

UFGD / FACET – Prof. Wellington Lima dos Santos – Cálculo Numérico (notas de aula, 2010)
Observação: Estas notas de aula não foram suficientemente verificadas, portanto podem conter erros.
6/6

Exercícios Propostos

Considere a tabela abaixo, na qual constam os valores de f(x) = x3/2 e das


diferenças divididas:

i xi yi=f(xi) ∆/yi ∆/ 2 yi
0 2,0000 2,8284 2,3678 0,2180
1 3,0000 5,1962 2,8038 —
2 4,0000 8,0000 —

1) Calcule o valor de P2(2,7) através da fórmula de Newton

2) Calcule o valor de P2(3,4) através da fórmula de Lagrange

3) Calcule o erro máximo ao se calcular P2(3,4), comparando com o erro real, ou


seja, com o valor P2(3,4) – 3,43/2

UFGD / FACET – Prof. Wellington Lima dos Santos – Cálculo Numérico (notas de aula, 2010)
Observação: Estas notas de aula não foram suficientemente verificadas, portanto podem conter erros.