Você está na página 1de 57

Interpolao

Interpolao Polinomial
Interpolao segmentada
Interpolao
Leonardo F. Guidi
DMPA IM
UFRGS
Clculo Numrico
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
ndice
1
Interpolao
2
Interpolao Polinomial
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
3
Interpolao segmentada
Introduo
Interpolao spline cbica
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Interpolao
Neste captulo estudaremos mtodos que permitem encontrar um valor
aproximado para uma funo f calculada em um ponto x do intervalo I ,
atravs do conhecimento de uma coleo de pares ordenados (pontos)
{(x
i
, f (x
i
))}
N
i =1
tais que x
i
I .
Seja g uma funo que aproxima f no intervalo I . Se para um conjunto
de pontos x
i
, i = 1, . . . , N
g(x
i
) = f (x
i
),
ento dizemos que g interpola a funo f nos valores x
1
, x
2
, . . ., x
N
.
Podemos utilizar a funo g para encontrar uma aproximao para o valor
de f no ponto x [x
1
, x
n
], esse procedimento denominado interpolao.
Se x estiver fora do intervalo [x
1
, x
n
] e ainda assim utilizarmos a funo g
para encontrar o valor aproximado de f nesse ponto, o procedimento
denominado extrapolao.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Interpolao
Vamos determinar uma funo interpolante para o conjunto de pontos
{(0.5, 5.0);(0.5, 0.81);
(1.0, 0.7);(1.5, 0.55)} na forma g(x) = a
1
e
a
2
x
+a
3
e
a
4
x
. Determinar o
valor dos coecientes a
1
, a
2
, a
3
e a
4
signica determinar a interpolao.
Por denio, se g interpola o conjunto de pontos (entendido como
{(x
i
, f (x
i
))}
4
i =1
) ento os coecientes devem satisfazer as quatro
equaes g(x
1
) = f (x
1
), . . ., g(x
4
) = f (x
4
), ou seja, devem ser soluo do
seguinte sistema de equaes no lineares:
_

_
a
1
e
a
2
0.5
+a
3
e
a
4
0.5
= 5.0
a
1
e
a
2
0.5
+a
3
e
a
4
0.5
= 0.81
a
1
e
a
2
+a
3
e
a
4
= 0.7
a
1
e
a
2
1.5
+a
3
e
a
4
1.5
= 0.55
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Interpolao
Esse sistema possui soluo numrica dada por
a
1
1.20334
a
2
0.519387
a
3
0.880292
a
4
4.01704
0.5 0.5 1 1.5
x
5
4
3
2
1
gx
Figura: Funo interpolante g(x) e os quatro pontos de interpolao.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Interpolao
O sucesso em conseguir determinar a interpolao de um conjunto de
pontos depende da escolha de funo interpolante.
No exemplo anterior, a interpolao foi possvel pois o comportamento
dos pontos compatvel com a escolha realizada para a funo
interpolante. Essa compatibilidade se manifesta na existncia de
soluo para o sistema de equaes associado interpolao. Se fosse
escolhida uma funo com comportamento muito distinto do manifestado
pelos pontos, o sistema resultante poderia no possuir soluo.
A escolha de polinmios como funes interpolantes natural pelos
seguintes motivos: possvel aproximar uma grande variedade de
funes, os polinmios so de fcil manipulao matemtica
(principalmente derivao e integrao) e o teorema de Weierstrass
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Interpolao
Teorema Stone-Weierstrass
Seja f uma funo contnua denida no intervalo fechado limitado [a, b]
e seja um nmero positivo. Ento existe um polinmio p, tal que para
todo x [a, b],
|f (x) p(x)| < .
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Interpolao
Teorema Stone-Weierstrass
Seja f uma funo contnua denida no intervalo fechado limitado [a, b]
e seja um nmero positivo. Ento existe um polinmio p, tal que para
todo x [a, b],
|f (x) p(x)| < .
No entanto, da mesma forma que o teorema de Weierstrass garante uma
representao de f por um polinmio p to prximo quanto queiramos,
ele nada diz sobre o grau de p. Em algumas situaes, o problema de
encontrar p que desempenhe esse papel pode ser extraordinariamente
difcil do ponto de vista numrico.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Interpolao
Antes de discutirmos o procedimento de interpolao por polinmios,
vale a pena mencionar um algoritmo til no clculo do valor de p em um
ponto x. Trata-se do algoritmo de Horner.
Algoritmo de Horner
Batizado com o nome do matemtico ingls Willian George Horner mas
j conhecido por Isaac Newton em 1669 e mesmo pelo matemtico
chins Qin Jiunshao no sc. XIII, o algoritmo consiste em uma maneira
otimizada de calcular p(x) = a
m
x
m
+a
m1
x
m1
+ . . . +a
1
x +a
0
atravs
de m multiplicaes e m adies.
Basta reescrever o polinmio na forma concatenada:
p(x) = ((. . . ((a
m
x +a
m1
)x +a
ma
)x + . . . +a
2
)x +a
1
)x +a
0
.
Assim, p(x) pode ser calculado iterativamente: se denominarmos
b
m
= a
m
, a
m
x +a
m1
= b
m
x +a
m1
= b
m1
, ento obtemos uma
recurso para os b
i
de modo que p(x) = b
0
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Interpolao polinomial
Seja f
i
, i = 1, 2, . . . , n, o valor da funo f calculada nos n pontos de
interpolao x
i
. Encontrar o polinmio de grau m que interpola f nesses
pontos consiste em resolver o sistema de equaes lineares
f
i
f (x
i
) = p(x
i
), ou seja o sistema
_

_
a
m
x
m
1
+ a
m1
x
m1
1
+ . . . + a
1
x
1
+ a
0
= f
1
a
m
x
m
2
+ a
m1
x
m1
2
+ . . . + a
1
x
2
+ a
0
= f
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
m
x
m
n
+ a
m1
x
m1
n
+ + a
1
x
n
+ a
0
= f
n
As m+1 incgnitas so os coecientes do polinmio, a
0
, a
1
, . . . , a
m
e o
sistema possui n equaes. Portanto, tipicamente, o sistema no possui
soluo se m+1 < n, possui innitas solues se m+1 > n e ser
unicamente determinado se m+1 = n.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Interpolao polinomial
Resolver esse sistema no a maneira mais simples ou menos sujeita a
erros de arredondamento quando desejamos determinar o polinmio
interpolante.
O seguinte teorema garante a unicidade do polinmio interpolante, o que
nos permite buscar maneiras alternativas de constru-lo. Por ser nico, o
resultado ser independente da construo.
unicidade do polinmio interpolante
Sejam x
1
, . . . , x
n
, pontos distintos. Para um conjunto arbitrrio de valores
f
1
, . . . , f
n
existe um e somente um polinmio p de grau menor ou igual a
n 1 tal que
p(x
i
) = f
i
,
para i = 1, 2, . . . , n.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Interpolao polinomial
Demonstrao:
No caso em que temos n pontos distintos e procuramos um polinmio de
grau menor ou igual a n 1, a matriz quadrada dos coecientes do
sistema de equaes lineares assume a forma da seguinte matriz de
Vandermonde,
_
_
_
_
_
x
n1
1
x
n2
1
x
2
1
x
1
1
x
n1
2
x
n2
2
x
2
2
x
2
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
n1
n
x
n2
n
x
2
n
x
n
1
_
_
_
_
_
.
Por hiptese os x
i
so distintos, portanto o determinante da matriz, dado
por

1i <j n
(x
j
x
i
)
no nulo, consequentemente, a soluo do sistema nica e o
polinmio tambm
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Lagrange
De uma maneira geral, o polinmio interpolante pode ser determinado
atravs a partir da escolha de uma base de polinmios de grau menor ou
igual a n 1: {p
j
}
n
j =1
. Assim determinar a interpolao consiste em
determinar as constantes c
j
tais que
p(x) =
n

j =1
c
j
p
j
(x).
O mtodo de Lagrange consistem em uma escolha particular para a base
{p
j
}
n
j =1
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Lagrange
Vamos supor que para cada 1 j n exista um polinmio de grau n 1,
l
j
(x) tal que para cada 1 k n, o valor de l
j
no ponto de interpolao
x
k
tal que
l
j
(x
k
) =
j ,k
,
onde
j ,k
o delta de Kronecker.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Lagrange
Essa escolha determina imediatamente as constantes c
j
. Elas so dadas
pelos valores f
j
:
p(x) = f
1
l
1
(x) +f
2
l
2
(x) + . . . +f
n
l
n
(x) =
n

j =1
f
j
l
j
(x),
podemos trivialmente vericar que p(x
k
) =

n
j =1
f
j
l
j
(x
k
) =

n
j =1
f
j

j ,k
= f
k
.
Portanto se formos capazes de construir os polinmios l
j
a interpolao
estar determinada.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Lagrange
Segundo a sua denio l
j
(x
k
) = 0 para todo x
k
tal que k = j , ento os
valores x
k
so razes de l
j
se j = k e portanto, a menos de uma constante
multiplicativa, C
j
, o polinmio l
j
determinado pelo produtrio
l
j
(x) = C
j
(x x
1
)(x x
2
). . . (x x
j 1
)(x x
j +1
). . . (x x
n
)
= C
j
n

i =1
i =j
(x x
i
).
Por m, a constante C
j
pode ser determinada atravs da propriedade
l
j
(x
j
) = 1:
l
j
(x
j
) = 1 C
j
n

i =1
i =j
(x
j
x
i
) = 1,
ou seja
C
j
=
n

i =1
i =j
1
(x
j
x
i
)
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Lagrange
Dessa forma, os polinmios l
j
(x), denominados polinmios de Lagrange
so determinados a partir do seguinte produtrio
l
j
(x) =
n

i =1
i =j
x x
i
x
j
x
i
e a interpolao de Lagrange
p(x) =
n

j =1
f
j
l
j
(x).
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Lagrange
Exemplo:
Seja a funo f (x) = sen(x) a partir da qual construmos a interpolao
nos trs pontos x
1
= 0, x
2
= 1 e x
3
= 2. Ser ento um polinmio de
segundo grau. Os pontos de interpolao so dados por
j x
j
f
j
= sen(x
j
)
1 0 0
2 1 sen(1)
3 2 sen(2)
os polinmios de Lagrange so ento dados por
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Lagrange
Exemplo:
Seja a funo f (x) = sen(x) a partir da qual construmos a interpolao
nos trs pontos x
1
= 0, x
2
= 1 e x
3
= 2. Ser ento um polinmio de
segundo grau. Os pontos de interpolao so dados por
j x
j
f
j
= sen(x
j
)
1 0 0
2 1 sen(1)
3 2 sen(2)
os polinmios de Lagrange so ento dados por
l
1
(x) =
(x 1)(x 2)
(01)(02)
=
1
2
_
x
2
3x +2
_
. E a interpolao dada por
l
2
(x) =
(x 0)(x 2)
(10)(12)
=x
2
+2x. p(x) =
_
sen(2)
2
sen(1)
_
x
2
+
l
3
(x) =
(x 0)(x 1)
(20)(21)
=
1
2
_
x
2
x
_
.
_
2sen(1)
sen(2)
2
_
x.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Lagrange
Exemplo:
Seja a funo f (x) = sen(x) a partir da qual construmos a interpolao
nos trs pontos x
1
= 0, x
2
= 1 e x
3
= 2. Ser ento um polinmio de
segundo grau. Os pontos de interpolao so dados por
j x
j
f
j
= sen(x
j
)
1 0 0
2 1 sen(1)
3 2 sen(2)
os polinmios de Lagrange so ento dados por
l
1
(x) =
(x 1)(x 2)
(01)(02)
=
1
2
_
x
2
3x +2
_
. E a interpolao dada por
l
2
(x) =
(x 0)(x 2)
(10)(12)
=x
2
+2x. p(x) =
_
sen(2)
2
sen(1)
_
x
2
+
l
3
(x) =
(x 0)(x 1)
(20)(21)
=
1
2
_
x
2
x
_
.
_
2sen(1)
sen(2)
2
_
x.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Newton
De acordo com o teorema da unicidade do polinmio interpolante, toda
interpolao de n pontos por um polinmio de grau n 1 nica e pode
ser obtida pelo mtodo de Lagrange.
No entanto, existem outras maneiras de construir o polinmio p(x) que
podem ser mais convenientes.
Uma dessas maneiras a interpolao de Newton, que permite a insero
de pontos adicionais de maneira simples e menos suscetvel
deteriorao por erros de arredondamento.
O mtodo consiste em determinar o polinmio a partir da seguinte
estrutura
p(x) =a
0
+a
1
(x x
1
)+a
2
(x x
1
)(x x
2
)+. . .+a
n1
(x x
1
). . . (x x
n1
).
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Newton
Por construo, o valor de p calculado em x = x
1

p(x
1
) = a
0
.
Alm disso, como p(x) o polinmio interpolante, p(x
1
) = f
1
, portanto,
a
0
= f
1
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Newton
Da mesma forma,
p(x
2
) = a
0
+a
1
(x
2
x
1
) = f
2
= f
1
+a
1
(x
2
x
1
) = f
2
,
ou seja,
a
1
=
f
2
a
0
x
2
x
1
e assim por diante. Desta forma, os coecientes so determinados
recursivamente e o k-simo coeciente se relaciona aos pontos de
interpolao e aos coecientes anteriores pela expresso
a
k
=
f
k+1
a
0

k1
j =1
a
j
(x
k+1
x
1
). . . (x
k+1
x
j
)

k
j =1
(x
k+1
x
j
)
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Newton
Essa frmula de recorrncia pode ser convenientemente descrita atravs
da notao de diferenas divididas. Seja a funo f [x
k
, x
k+1
, . . . , x
l +1
]
denida pela relao de recorrncia
f [x
k
, x
k+1
, . . . , x
l
, x
l +1
] =
f [x
k+1
, x
k+1
, . . . , x
l +1
] f [x
k
, x
k+1
, . . . , x
l
]
x
l +1
x
k
e
f [x
k
] = f
k
.
= f (x
k
).
Assim, podemos vericar que
f [x
k
, x
k+1
] =
f [x
k+1
] f [x
k
]
x
k+1
x
k
e
f [x
k
, x
k+1
, x
k+2
] =
f [x
k+1
, x
k+2
] f [x
k
, x
k+1
]
x
k+2
x
k
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Newton
Nessa notao, os coecientes do polinmio so dados por
a
0
= f [x
1
],
a
1
= f [x
1
, x
2
],
a
2
= f [x
1
, x
2
, x
3
],
.
.
.
.
.
.
.
.
.
a
n1
= f [x
1
, x
2
, . . . , x
n
].
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Newton
Diagramaticamente, os coecientes so calculados a partir da sequncia
de diferenas divididas calculadas recursivamente:
x
1
f [x
1
] f [x
1
,x
2
] f [x
1
,x
2
,x
3
] ... f [x
1
,...,x
n1
] f [x
1
,...,x
n
]

x
2
f [x
2
] f [x
2
,x
3
] f [x
2
,x
3
,x
4
] ... f [x
2
,...,x
n
]

x
3
f [x
3
] f [x
3
,x
4
] f [x
3
,x
4
,x
5
] ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
n2
f [x
n2
] f [x
n2
,x
n1
] f [x
n2
,x
n1
,x
n
]

x
n1
f [x
n1
] f [x
n1
,x
n
]

x
n
f [x
n
]
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Newton
Exemplo 1:
Vamos realizar a interpolao da funo sen(x) no intervalo x [0, 2]
atravs de um polinmio de segundo grau nos pontos x
1
= 0, x
2
= 1 e
x
3
= 2. Neste caso,
j x
j
f
j
= sen(x
j
)
1 0 0
2 1 sen(1)
3 2 sen(2)
e f [x
1
] = 0, f [x
2
] = sen(1) e f [x
3
] = sen(2). As prximas diferenas
divididas so dadas por
f [x
1
, x
2
] =
f [x
2
] f [x
1
]
x
2
x
1
=
sen(1) 0
10
e f [x
2
, x
3
] =
f [x
3
] f [x
2
]
x
3
x
2
=
sen(2) sen(1)
21
.
Finalmente,
f [x
1
, x
2
, x
3
] =
f [x
2
, x
3
] f [x
1
, x
2
]
x
3
x
1
=
sen(2) sen(1) sen(1)
20
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Mtodo de Newton
Portanto, o polinmio interpolante
p(x) = f [x
1
] +f [x
1
, x
2
] (x x
1
) +f [x
1
, x
2
, x
3
] (x x
1
)(x x
2
)
assume a forma
p(x) = sen(1)x +
sen(2) 2sen(1)
2
x(x 1)
=
_
sen(2)
2
sen(1)
_
x
2
+
_
2sen(1)
sen(2)
2
_
x
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Relao com a srie de Taylor
O polinmio interpolante na forma de Newton
p(x) =f [x
1
]+f [x
1
, x
2
] (x x
1
)+. . .+f [x
1
, x
2
, . . . , x
n
] (x x
1
) . . . (x x
n1
)
pode ser relacionado srie de Taylor para a funo f atravs do
seguinte limite:
Sejam as constantes positivas r
i
, ordenadas de acordo com as
desigualdades 0 < r
1
< r
2
< r
n1
. A partir das constantes r
i
, escolhemos
os pontos de interpolao x
i
dados por
x
i
= x
0
+r
i
h.
A inteno tomar o limite h 0 de modo que todos os pontos x
i
x
0
sem que ocorram cruzamentos para um valor nito de h. Desse modo, a
interpolao est sempre denida e alm disso,
lim
h0
f [x
1
, x
2
, . . . , x
k
] =
f
(k)
(x
0
)
k!
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Relao com a srie de Taylor
Portanto, quando h 0, o polinmio interpolante assume a forma de
uma srie de Taylor truncada:
f (x
0
) +
f

(x
0
)
2
(x x
0
) + . . . +
f
(n1)
(x
0
)
(n 1)!
(x x
0
)
n1
.
Qual a importncia desse fato? Veremos adiante que ele ajuda a
compreender algumas diculdades associadas interpolao polinomial.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Erros de truncamento
Seja f uma funo contnua e n vezes diferencivel no intervalo (a, b) que
contm os pontos x
1
, x
2
, . . . , x
n
e seja p o polinmio de grau n 1 que
interpola f nesses pontos. Ento possvel mostrar que para cada
x (a, b), existe um (x) (a, b) tal que
f (x) p(x) =
1
n!
f
(n)
()
n

i =1
(x x
i
).
Poderamos supor que para uma f contnua e sucientemente suave, a
sequncia de polinmios interpolantes {p
n
}
n1
convergiria para f
conforme aumentssemos o nmero de pontos de interpolao no
intervalo (a, b). No entanto, como o exemplo a seguir ilustra, isto nem
sempre ocorre.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Erros de truncamento
Fenmeno de Runge
A seguinte funo, proposta por Carle D. T. Runge ao estudar o
comportamento dos erros na interpolao polinomial,
f (x) =
1
1+25x
2
, x [1, 1]
tal que a sequncia de polinmios interpolantes {p
n
}
n
construdos a
partir de pontos de interpolao igualmente espaados no converge para
f (x) no intervalo de valores x (1, 0.727)

(0.727, 1). Na realidade


possvel demonstrar que
lim
n+
max
1x1
|f (x) p
n
(x)| = +.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Erros de truncamento
Podemos analisar esse comportamento no regular da interpolao a
partir do termo
n

i =1
(x x
i
)
contido na expresso . Esse produtrio possui uma utuao para os
valores do argumento prximos fronteira do intervalo (1, 1) que
progressivamente ampliada conforme aumentamos o nmero de pontos se
os mesmos forem igualmente espaados.
Os grco seguintes ajudam a ilustrar o comportamento do produtrio.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Erros de truncamento
-1 -0.5 0.5 1
x
-0.0003
-0.0002
-0.0001
0.0001
0.0002
0.0003
-0.6 -0.4 -0.2 0.2 0.4 0.6
x
-610
-7
-410
-7
-210
-7
210
-7
410
-7
610
-7
Figura: a) comportamento do produtrio com 20 pontos igualmente espaados
no intervalo [1, 1]. b) recorte do mesmo produtrio no intervalo [0.7, 0.7].
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Erros de truncamento
Esse comportamento minimizado atravs da escolha de pontos no
igualmente espaados.
Na realidade, possvel demonstrar que a variao desse termo mnima
em valor absoluto quando os pontos x
i
esto espaados em um intervalo
(a, b) segundo a seguinte expresso
x
i
=
a +b
2
+
a b
2
cos
_
2i 1
2n

_
para i = 1, 2, . . . , n. Esses pontos so denominados pontos de Chebyshev.
Utilizando os pontos de Chebyshev no intervalo [1, .1] podemos
controlar o comportamento dos polinmios interpolantes para a funo
de Runge e garantir a convergncia p
n1
(x) f (x) quando n +.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Erros de truncamento
-1 -0.5 0.5 1
x
-210
-6
-110
-6
110
-6
210
-6
Figura: O produtrio com 20 pontos de Chebyshev
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Mtodo de Lagrange
Mtodo de Newton para interpolao
Erros de truncamento na interpolao por polinmios
Erros de truncamento
Ainda assim, existem funes contnuas que requerem um nmero
impraticvel de pontos para que a interpolao se aproxime da funo
original. Por exemplo, a funo
_
|x| no intervalo [1, 1] requer um
polinmio de grau maior que 10
6
para que a interpolao seja exata at
10
3
.
Em geral, quando utilizamos polinmios de grau maior ou igual a 100, a
maior diculdade lidar com os erros de arredondamento.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
Interpolao segmentada
Splines so funes formadas por diferentes polinmios de grau menor ou
igual a um m, denidos para cada intervalo entre os pontos de
interpolao de modo que em cada ponto de interpolao o spline
contnuo,assim como todas as derivadas at ordem m1.
x
1
x
2
x
3
x
n2
x
n1
x
n
x
f
s
1
x
s
2
x
s
n2
x
s
n1
x
Figura: Interpolao spline
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
Interpolao segmentada
Nas situaes em que o nmero de pontos de interpolao grande (por
exemplo, em aplicaes CAD computer-aided design), a inexatido
associada aproximao a partir de um polinmio de grau elevado
dominada pelos erros de arredondamento. Ou ento, quando a funo
que se quer interpolar possui derivadas de valor numrico elevado em
alguma regio do intervalo de interpolao, a aproximao prejudicada
em todo o intervalo. Nessas situaes, a interpolao por spline pode
auxiliar a tarefa de interpolao.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
Interpolao segmentada
Nas situaes em que o nmero de pontos de interpolao grande (por
exemplo, em aplicaes CAD computer-aided design), a inexatido
associada aproximao a partir de um polinmio de grau elevado
dominada pelos erros de arredondamento. Ou ento, quando a funo
que se quer interpolar possui derivadas de valor numrico elevado em
alguma regio do intervalo de interpolao, a aproximao prejudicada
em todo o intervalo. Nessas situaes, a interpolao por spline pode
auxiliar a tarefa de interpolao.
O procedimento de construir splines anlogo qualquer que seja o grau
dos polinmios utilizados, como o spline de maior interesse (veremos por
que) aquele formado por polinmios de grau 3, nos concentraremos
nesse caso apenas.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
Spline cbico
Sejam x
1
< x
2
< . . . < x
n
os pontos e interpolao. um spline cbico
uma funo s(x), denida no intervalo [x
1
, x
n
] com as seguintes
propriedades:
1
s(x), s

(x) e s

(x) so funes contnuas no intervalo (x


1
, x
n
).
2
Em cada subintervalo [x
i
, x
i +1
], s(x) um polinmio cbico tal que
s(x
i
) = f
i
.
= f (x
i
) para i = 1, 2, . . . , n.
Portanto, s composto por n 1 polinmios cbicos, cada polinmio
determinado por 4 coecientes (a
i
,b
i
, c
i
e d
i
) o que d um total de
4n 4 coecientes a determinar, ou seja 4n 4 incgnitas.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
Spline cbico
Sejam x
1
< x
2
< . . . < x
n
os pontos e interpolao. um spline cbico
uma funo s(x), denida no intervalo [x
1
, x
n
] com as seguintes
propriedades:
1
s(x), s

(x) e s

(x) so funes contnuas no intervalo (x


1
, x
n
).
2
Em cada subintervalo [x
i
, x
i +1
], s(x) um polinmio cbico tal que
s(x
i
) = f
i
.
= f (x
i
) para i = 1, 2, . . . , n.
Portanto, s composto por n 1 polinmios cbicos, cada polinmio
determinado por 4 coecientes (a
i
,b
i
, c
i
e d
i
) o que d um total de
4n 4 coecientes a determinar, ou seja 4n 4 incgnitas.
Cada polinmio deve satisfazer a condio de continuidade nos pontos de
interpolao alm, claro, de interpolar o ponto x
i
, ou seja,
s
i
(x
i
) = f
i
(interpolao),
para i = 1, 2, . . . , n 1 e
s
n1
(x
n
) = f
n
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
Spline cbico
Cada polinmio deve satisfazer a condio de continuidade nos pontos de
interpolao alm, claro, de interpolar o ponto x
i
, ou seja,
s
i
(x
i
) = f
i
(interpolao),
para i = 1, 2, . . . , n 1 e
s
n1
(x
n
) = f
n
.
A continuidade satisfeita se
s
i
(x
i +1
) = f
i +1
(continuidade de s ),
para i = 1, 2, . . . , n 2.. As condies acima implicam 2(n 1) equaes.
Faltam ainda as continuidades de s

(x) e s

(x):
s

i
(x
i +1
) = s

i +1
(x
i +1
) (continuidade de s

),
s

i
(x
i +1
) = s

i +1
(x
i +1
) (continuidade de s

),
para i = 1, 2, . . . , n 2. Cada condio equivale a n 2 equaes.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Portanto temos at agora um total de 4n 6 equaes. Restam duas
equaes para que seu nmero seja igual ao nmero de incgnitas. Essas
duas ltimas equaes se relacionam s condies de fronteira do spline.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Portanto temos at agora um total de 4n 6 equaes. Restam duas
equaes para que seu nmero seja igual ao nmero de incgnitas. Essas
duas ltimas equaes se relacionam s condies de fronteira do spline.
Com relao ao comportamento de s(x) no extremo do intervalo, existem
vrias possibilidades a ser consideradas. Vamos nos concentrar em duas:
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Com relao ao comportamento de s(x) no extremo do intervalo, existem
vrias possibilidades a ser consideradas. Vamos nos concentrar em duas:
spline natural
s

1
(x
1
) = 0
s

n1
(x
n
) = 0
possui esse nome por ser a condio equivalente aproximao por
rguas elsticas (uso mais tradicional do spline).
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
splines completo e quase completo
s

1
(x
1
) = f

(x
1
)
s

n1
(x
n
) = f

(x
n
)
essa escolha pressupe que a informao sobre o valor da derivada de f
nos extremos do intervalo seja conhecida (exatamente no caso completo
e como aproximao numrica a partir dos demais pontos no caso quase
completo). A aproximao obtida com essa escolha possui uma maior
acurcia do que a obtida com o spline natural.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Nos prximos pargrafos montaremos o sistema de equaes lineares para
determinarmos 4n 4 os coecientes a
i
,b
i
, c
i
e d
i
dos n 1 polinmios
que compe o spline:
s
i
(x) = a
i
+b
i
(x x
i
) +c
i
(x x
i
)
2
+d
i
(x x
i
)
3
.
Por ser uma interpolao, a cada x
i
, temos que s(x
i
) = f
i
, ou seja,
s
i
(x
i
) = f
i
o que implica
f
i
= s
i
(x
i
) = a
i
para i = 1, 2, . . . , n 1. Isto determina o valor dos coecientes a
i
.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Nos prximos pargrafos montaremos o sistema de equaes lineares para
determinarmos 4n 4 os coecientes a
i
,b
i
, c
i
e d
i
dos n 1 polinmios
que compe o spline:
s
i
(x) = a
i
+b
i
(x x
i
) +c
i
(x x
i
)
2
+d
i
(x x
i
)
3
.
Por ser uma interpolao, a cada x
i
, temos que s(x
i
) = f
i
, ou seja,
s
i
(x
i
) = f
i
o que implica
f
i
= s
i
(x
i
) = a
i
para i = 1, 2, . . . , n 1. Isto determina o valor dos coecientes a
i
.
A continuidade do spline s(x) nos pontos de interpolao implica a
equao s
i
(x
i +1
) = s
i +1
(x
i +1
) para i = 1, 2, . . . , n 2, ou seja,
a
i
+b
i
(x
i +1
x
i
) +c
i
(x
i +1
x
i
)
2
+d
i
(x
i +1
x
i
)
3
= a
i +1
,
f
i
+b
i
(x
i +1
x
i
) +c
i
(x
i +1
x
i
)
2
+d
i
(x
i +1
x
i
)
3
= f
i +1
.
Para aliviar a notao, vamos introduzir a notao h
i
= (x
i +1
x
i
).
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Dessa forma, a equao anterior pode ser reescrita como
f
i
+b
i
h
i
+c
i
h
2
i
+d
i
h
3
i
= f
i +1
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Dessa forma, a equao anterior pode ser reescrita como
f
i
+b
i
h
i
+c
i
h
2
i
+d
i
h
3
i
= f
i +1
A continuidade na primeira e na segunda derivadas implicam
b
i
+2c
i
h
i
+3d
i
h
2
i
= b
i +1
e
c
i
+3d
i
h
i
= c
i +1
para i = 1, 2, . . . , n 2.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Isolando d
i
na ltima equao e substituindo o resultado nas demais
encontramos respectivamente
f
i +1
= f
i
+b
i
h
i
+
h
2
i
3
(2c
i
+c
i +1
)
e
b
i +1
= b
i
+h
i
(c
i
+c
i +1
)
para i = 1, 2, . . . , n 2.
Isolando b
i
na equao anterior podemos determin-lo em termos dos
valores conhecidos f
i
, h
i
e da incgnita c
i
:
b
i
=
f
i +1
f
i
h
i

h
i
3
(2c
i
+c
i +1
),
para i = 1, 2, . . . , n 2.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
A partir da equao para a continuidade de s e das expresses para b
i
e
d
i
dadas em termos de c
i
, h
i
e f
i
, encontramos uma equao para os
coecientes c
i
em termos dos valores conhecidos f
i
e h
i
:
h
i 1
c
i 1
+2(h
i 1
+h
i
)c
i
+h
i
c
i +1
= 3
_
f
i +1
f
i
h
i
_
3
_
f
i
f
i 1
h
i 1
_
,
para i = 2, 3, . . . , n 1.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
A partir da equao para a continuidade de s e das expresses para b
i
e
d
i
dadas em termos de c
i
, h
i
e f
i
, encontramos uma equao para os
coecientes c
i
em termos dos valores conhecidos f
i
e h
i
:
h
i 1
c
i 1
+2(h
i 1
+h
i
)c
i
+h
i
c
i +1
= 3
_
f
i +1
f
i
h
i
_
3
_
f
i
f
i 1
h
i 1
_
,
para i = 2, 3, . . . , n 1.
A equao anterior dene um sistema de equaes lineares para as
incgnitas c
i
. Note que alm dos coecientes c
1
, c
2
, . . . , c
n1
, o sistema
envolve um coeciente c
n
que no est diretamente relacionado a algum
dos n 1 polinmios s
i
. Na realidade, c
n
est relacionado s condies
no extremo do intervalo de interpolao e sua determinao depende do
tipo de spline que estamos construindo, se um spline natural ou um
spline (quase) completo
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Spline natural
O spline natural deve satisfazer as condies s

(x
1
) = 0 e s

(x
n
) = 0,
estas duas equaes implicam respectivamente
c
1
= 0
e
2c
n1
+6d
n1
h
n1
= 0.
A equao para d
i
em termos de c
i
implica c
n
= 0.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Colecionando esses resultados temos ento a seguinte situao:
resolvendo o sistema de equaes
_

_
c
1
= 0
h
i 1
c
i 1
+2(h
i 1
+h
i
)c
i
+h
i
c
i +1
= 3
_
f
i +1
f
i
h
i
_
3
_
f
i
f
i 1
h
i 1
_
,
c
n
= 0
i = 2, . . . , n1
encontramos o valor dos coecientes c
i
. A partir desses coecientes
determinamos o valor dos coecientes b
i
atravs das equaes
b
i
=
f
i +1
f
i
h
i

h
i
3
(2c
i
+c
i +1
),
para i = 1, 2, . . . , n 1; e o valor dos coecientes d
i
atravs da equaes
d
i
=
c
i +1
c
i
3h
i
,
para i = 1, 2, . . . , n 1. Os coecientes a
i
= f
i
como j havamos
determinado anteriormente.
Leonardo F. Guidi Interpolao
Interpolao
Interpolao Polinomial
Interpolao segmentada
Introduo
Interpolao spline cbica
spline natural e spline (quase) completo
Splines completo e quase completo
Nesse caso o spline deve satisfazer as condies s

(x
1
) = f

(x
1
) f

1
e
s

(x
n
) = f

(x
n
) f

n
.Para determinar o spline, f

1
e f

n
devem ser valores
conhecidos. As condies implicam respectivamente
_

_
2h
1
c
1
+h
1
c
2
= 3
_
f
2
f
1
h
1
_
3f

1
h
i 1
c
i 1
+2(h
i 1
+h
i
)c
i
+h
i
c
i +1
= 3
_
f
i +1
f
i
h
i
_
3
_
f
i
f
i 1
h
i 1
_
,
h
n1
c
n1
+2h
n1
c
n
= 3
_
f
n
f
n1
h
n1
_
+3f

n
i = 2, . . . , n1
e ento determinar os coecientes b
i
e d
i
atravs das equaes
b
i
=
f
i +1
f
i
h
i

h
i
3
(2c
i
+c
i +1
),
d
i
=
c
i +1
c
i
3h
i
,
para i = 1, 2, . . . , n 1. Naturalmente, os coecientes a
i
= f
i
.
Leonardo F. Guidi Interpolao

Você também pode gostar