Prévia do material em texto
1
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS
FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA
Profª.: Dra. Selma Helena Marchiori Hashimoto
Interpolação Polinomial
Seja um conjunto de dados {xi, f(xi)} tal como na tabela abaixo:
xi 0 1.5 3.0 4.5 6.0
f(xi) 0.001 0.016 0.028 0.046 0.057
O problema é estimar o valor de f(x) para um valor de x que não tenha sido medido,
como por exemplo, x = 2.0, uma vez que não se conhece f(x).
Portanto, interpolar um ponto x a um conjunto de n+1 dados {xi, f(xi)}, significa
simplesmente, calcular o valor de f(x), sem conhecer a forma analítica de f(x).
A interpolação polinomial consiste em se obter um polinômio p(x) que passe por todos
os pontos do conjunto de (n+1) dados {xi, f(xi)}, isto é:
p(x0) = f(x0)
p(x1)=f(x1)
p(x2)=f(x2) (1)
...
p(xn)=f(xn)
(note que a contagem começa em zero, portanto temos n+1 pontos na expressão acima).
O polinômio p(x) é chamado de polinômio interpolador. É possível se demonstrar
que existe um único polinômio p(x) de grau menor ou igual a n que passa por todos os (n+1)
pontos do conjunto {xi, f(xi)} (ver o livro texto Cálculo Numérico para uma demonstração
dessa proposição).
Forma de Lagrange
Seja um conjunto de n+1 dados {xi, f(xi)}. Um polinômio interpolador p(x) que satisfaça a
condição (1), isto é, passe por todos os pontos, é:
)()()()()()()( 1100 nn xfxLxfxLxfxLxp (2)
onde os Lk(x) são polinômios tais que:
2
L xk i ki (3)
sendo que:
ikse
ikse
ki
,1
,0
(4)
Portanto,
)()(
)(0)(0)(1)(
)()()()()()()(
00
100
01010000
xfxp
xfxfxfxp
xfxLxfxLxfxLxp
n
nn
e,
p x L x f x L x f x L x f x
p x f x f x f x
p x f x
n n
n
( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( )
1 0 1 0 1 1 1 1
1 0 1
1 1
0 1 0
ou seja:
p x f xi i( ) ( )
o que mostra que o polinômio interpolador p(x) passa exatamente sobre os pontos {xi, f(xi)} da
tabela dada.
Falta encontrar os polinômios Lk(x), que satisfaçam (3). Uma função que satisfaz a
condição (3) é:
nkkikkikkk
nkk
k
xxxxxxxxxx
xxxxxxxxxx
xL
1110
1110)(
que é fácil verificar, pois:
L x e
L x se i k
k k
k i
1
0 ,
De maneira compacta, podemos escrever o polinômio interpolador na Forma de
Lagrange, como:
p x L x f xn i i
i
n
0
(5)
e,
n
ij
j
ji
n
ij
j
j
i
xx
xx
xL
0
0
3
Interpolação para 2 pontos (n+1=2) - ajuste de retas (n = 1)
xi x0 x1
f(xi) f(x0) f(x1)
De (5):
1
0
1100 )().()().()().()(
i
ii xfxLxfxLxfxLxp (6)
As funções Li(x) devem satisfazer (3), ou seja:
L0 (x0) =1 L1 (x0) =0 L0 (x1) =0 L1 (x1) =1 (7)
É fácil verificar que, as seguintes funções, satisfazem (7):
10
1
0 )(
xx
xx
xL
01
0
1 )(
xx
xx
xL
(8)
De (8) em (6) :
1
01
0
0
10
1 xf
xx
xx
xf
xx
xx
xp
Interpolação para 3 pontos (n+1=3) - ajuste de parábolas (n=2)
xi x0 x1 x2
f(xi) f(x0) f(x1) f(x2)
De (5):
221100
2
0
xfLxfLxfLxfLxp
i
ii
(9)
onde:
L0 (x0) =1 L1 (x0) =0 L2 (x0) =0
L0 (x1) =0 L1 (x1) =1 L2 (x1) =0
L0 (x2) =0 L1 (x2) =0 L2 (x2) =1
Por construção:
2010
21
0
xxxx
xxxx
L
2101
20
1
xxxx
xxxx
L
1202
10
2
xxxx
xxxx
L
4
Portanto:
2
1202
10
1
2101
20
0
2010
21)( xf
xxxx
xxxx
xf
xxxx
xxxx
xf
xxxx
xxxx
xp
Exemplo: Ajuste uma reta aos seguintes pontos:
x 2 4
f(x) 3,1 5,6
1
01
0
0
10
1 xf
xx
xx
xf
xx
xx
xp
28.2455.16.5
24
2
1.3
42
4
xx
xx
xp
6.025.1 xxp
Forma de Newton
Para que possamos discutir a Forma de Newton temos que antes nos familiarizar com
a construção da chamada “Tabela de Diferenças Divididas”
Tabela de Diferenças Divididas
Dada a tabela de valores:
x x0 x1 x2 x3
f(x) f(x0) f(x1) f(x2) f(x3)
Pode-se construir a seguinte tabela:
xi ixf 1, ii xxf 21,, iii xxxf 321 ,,, iiii xxxxf
x0 0xf
10 , xxf
x1 1xf 210 ,, xxxf
21, xxf 3210 ,,, xxxxf
x2 2xf 321 ,, xxxf
32 , xxf
x3 3xf
5
em que:
01
01
10 ,
xx
xfxf
xxf
,
12
12
21,
xx
xfxf
xxf
,
23
23
32 ,
xx
xfxf
xxf
02
1021
210
,,
,,
xx
xxfxxf
xxxf
,
13
2132
321
,,
,,
xx
xxfxxf
xxxf
03
210321
3210
,,,,
,,,
xx
xxxfxxxf
xxxxf
Exemplo: Dados os seguintes valores:
xi 0,1 0,4 0,7 1 1,2
f(xi) 0,813 0,536 0,682 1,25 1,864
a tabela de diferenças divididas é:
xi ixf 1, ii xxf 21,, iii xxxf 321 ,,, iiii xxxxf
0,1 0,813
923,0
1,04,0
813,0536,0
0,4 0,536
350,2
1,07,0
923,0487,0
487,0
4,07,0
536,0682,0
008,0
1,01
350,2343,2
0,7 0,682 343,2
4,01
487,0893,1
893,1
7,01
682,025,1
014,0
4,02,1
343,2354,2
1 1,250 354,2
7,02,1
893,107,3
07,3
12,1
25,1864,1
1,2 1,864
4321 ,,,, iiiii xxxxxf = 02,0
1,02,1
) 008,0(014,0
6
Forma de Newton para o Polinômio Interpolador
Para calcular o polinômio interpolador da Forma de Newton, começaremos com o
caso mais simples: encontrar um polinômio de grau 0, p0(x), que interpola f(x) no ponto x0.
Vamos partir da diferença dividida f[x0,x], que é dada por:
0
0
0,
xx
xfxf
xxf
(10)
Isolando-se f(x) da expressão acima, tem-se:
000 , xxxxfxfxf (11)
Da própria definição de polinômio interpolador, sabe-se que:
p0 (x) = f(x0) (12)
Portanto, a expressão (11) pode ser escrita como:
000 , xxxxfxpxf (13)
A expressão acima não pode ser usada diretamente, pois não podemos calcular o valor
f[x0, x], já que não conhecemos o valor de f(x) em qualquer ponto x. Fora do ponto x0, sabe-se
que o polinômio interpolador é apenas uma aproximação de f(x), caso contrário ter-se-ia uma
resposta exata e não precisaríamos da interpolação. Em outras palavras, tem-se que:
p0(x) f(x), para x x0 (14)
Portanto,da expressão (14), concluímos que 00 , xxxxf é simplesmente a
diferença entre o valor de f(x) (valor real da função) e o valor p0(x) que obtivemos com a
interpolação. Em outras palavras, esse termo é o erro no processo de interpolação, isto é:
0000 , xxxxfxpxfxE (15)
Pode ser feita a mesma coisa partindo de uma diferença dividida de ordem maior, ou
seja f[x0,x1,x], que é dada por:
01
0100
10
1
01
0
0
1
010
0110
,
,,
,
,,
,,,,
xxxx
xxfxxxfxf
xxxf
xx
xxf
xx
xfxf
xx
xxfxxf
xxxfxxxf
(16)
Portanto, tem-se que:
xxxfxxxxxxfxxxfxf ,,, 10010100 (17)
xxxfxxxxxxfxxxfxf ,,, 10011000 (18)
Podemos verificar que o polinômio interpolador de ordem 1, p1(x), é dado por:
10001 , xxfxxxfxp (19)
7
pois,
01000001 , xfxxfxxxfxp (20)
e
1
01
01
0101001011 , xf
xx
xfxf
xxxfxxfxxxfxp
(21)
que são as condições fundamentais para se encontrar tal polinômio.
Portanto, o erro cometido ao se aproximar f(x) por p1(x) é:
xxxfxxxxxE ,, 10101 (22)
Podemos continuar indefinidamente, até encontrarmos o polinômio interpolador de
uma ordem n qualquer, aplicando sempre o mesmo raciocínio. A expressão geral para um
polinômio interpolador de ordem n será então:
nn
n
xxxfxxxxxx
xxxfxxxxxxfxxxfxp
,,,
,,,
10110
210101000
(23)
e o erro é dado por:
xxxxfxxxxxxxE nnn ,,,, 1010 (24)
Exemplo: Dada a tabela, encontre o polinômio interpolador p(x) usando a forma de Newton.
x 0,2 0,5 0,9 1,5 2,0
f(x) 4,88 5,00 5,72 8,00 11,00
xi f(xi) f[xi , xi+1] f[xi , xi+1, xi+2]
0,2 4,88
4,0
2,05,0
88,400,5
0,5 5,00 2
2,09,0
4,08,1
8,1
5,09,0
00,572,5
0,9 5,72 2
5,05,1
8,18,3
8,3
9,05,1
72,500,8
1,5 8,00 2
9,00,2
8,30,6
2,0 11,00 0,6
5,10,2
00,800,11
0
0
8
Usando (23):
Note que usando a forma de Newton, p(xi) = f(xi)
5.4 Exercícios
1. Calcule o polinômio interpolador de Lagrange de grau no máximo 1 e 2 para as funções
abaixo, com �� = 0, �� = 0,6 e �� = 0,9. Utilize o polinômio para aproximar o valor de
�(0,45) e calcule o erro absoluto.
Resposta:
2. Seja ��(�) o polinômio interpolador de Lagrange do conjunto de dados {(0, 0), (0.5, y),
(1, 3), (2, 2)}. O coeficiente de �� é 6. Calcule o valor de y. (resposta: y = 4.25)
3. Resolva o exercício anterior com o polinômio interpolador de Newton.
52)(
2,04,0208,04,088,4)(
2).1,02,05,0(08,04,088,4)(
2).5,0).(2,0(4,0).2,0(88,4)(
2
2
2
xxxp
xxxxxp
xxxxxp
xxxxp
9
4. A seguinte tabela informa o número de carros que passam por um determinado pedágio
em um determinado dia:
Horário 10:00 10:30 11:00 11:30 12:00 12:30
Número (em mil) 2.69 1.64 1.09 1.04 1.49 2.44
a) Faça um gráfico de horário vs. número de carros para verificar qual a tendência da
curva.
b) Estime o número de carros que passariam pelo pedágio às 11:10, usando a forma de
Lagrange para encontrar um polinômio interpolador p(x) que estima o número de
carros em função do tempo.
5. Na fabricação de determinadas cerâmicas é muito importante saber as condições de
temperatura em que o produto foi assado no forno. Como não é possível medir a
temperatura do forno a todo instante, ela é medida em intervalos periódicos de tempo e
esses dados são interpolados para o instante em que cada peça foi “queimada” a fim de se
conhecer a temperatura do forno nesse instante. Em um dia de funcionamento do forno, os
seguintes dados foram coletados:
Horário 7:00 10:00 13:00 16:00 19:00 21:00
Temperatura (102 oC) 2.32 2.51 2.63 2.55 2.41 2.28
a) Construa a tabela de diferenças divididas para esses pontos.
b) Estime a temperatura do forno ás 14:30 usando a forma de Newton.