Introdução ao conceito de interpolação
A interpolação consiste em determinar uma função que assumevalores conhecidos em certos pontos
A classe de funções escolhidas para a interpolação é a priori
arbitrária, e deve ser adequada às características que pretendemosque a função possua
I Um dos objetivos da interpolação é a determinação de umafunção g que passe pelos pontos informados da função f .Baseando-se na nova função g , pode-se estimar, valoresintermediários entre os dados conhecidos de f
I Outro dos objetivos é usar a função g para aproximar asderivadas e aintegrla da função f pelas respectivas derivadas eintegral da função g
f′(x) ≈ g
′(x)ˆ b
a
f (x)dx ≈ˆ b
a
g(x)dx
Problema geral de Interpolação
Considere a tabela abaixo com (n + 1) pontos distintos de f
x x0 x1 x2 . . . xn
f (x) f (x0) f (x1) f (x3) · · · f (xn)
A interpolação da função f consiste em se obter uma função g(x),tal que:
g(x0) = f (x0), g(x1) = f (x1), g(x2) = f (x2), · · · g(xn) = f (xn)
Observe-se que no caso de interpolação, tem-se que:
dk = |yk − g(xk)|= |f (xk)− g(xk)|= 0
Durante o curso consideraremos que g(x) pertence à classe dasfunções polinomiaisObservação
I Existem outras formas de interpolação polinomial como, porexemplo, a fórmula de Taylor para a qual as condições deinterpolação são outras.
I Assim como g(x) foi escolhida entre as funções polinomiais,poderiamos ter escolhido g(x) como função racional, funçãotrigonométrica, etc.
Expressão geral dos polinômios
I Polinômio de grau 1
p1(x) = a0 + a1x
I Polinômio de grau 2
p2(x) = a0 + a1x + a2x2
I Polinômio de grau 3
p3(x) = a0 + a1x + a2x2 + a3x
3
...
I Polinômio de grau n
pn(x) = a0 + a1x + a2x2 + . . .+ anx
n
Polinômio Interpolador
Consideremos o intervalo [a, b] ⊂ R, os pontosx0, x1, x2, . . . xn ∈ [a, b] e uma função f cujos valores sãoconhecidos naqueles pontos, isto é, f (xi ) = fi , i = 0, 1, 2, . . . , n.Um polinômio P , de grau menor do que ou igual a n que satisfaz:
P(xi ) = fi , i = 0, 1, 2, . . . , n,
chama-se polinômio interpolador de f nos pontos x0, x1, x2, . . . , xn
Teorema (Existência e Unicidade)Dado um conjunto de (n + 1) pontos distintos de uma função f ,isto é
(x0, f0), (x1, f1), (x2, f2), . . . , (xn, fn),
com xk 6= xj para k 6= j . Existe um único polinômio p(x) de graumenor ou igual a n, tal que:
p(xi ) = fi , i = 0, 1, 2, n
Demonstração do TeoremaSeja p(x) = a0 + a1x + a2x
2 + . . . anxn. Para obter os ai usamos a
condição de interpolação p(xi ) = fi para i = 0, 1, 2, . . . , n. Logo,tem-se:
f0 = p(x0) = a0 + a1x0 + a2x20 + . . . anx
n0
f1 = p(x1) = a0 + a1x1 + a2x21 + . . . anx
n1
fn = p(xn) = a0 + a1xn + a2x2n + . . . anx
nn
Temos n + 1 equações e n + 1 incógnitas. O sistema linearassociado tem a seguinte forma:
1 x0 x20
. . . xn0
1 x1 x21
. . . xn1
1 x2 x22
. . . xn2
......
.... . .
...1 xn x2n . . . xn
n
a0a1a2...an
=
f0f1f2...fn
(1)
Vamos denominar a matriz dos coe�cientes do sistema linear (1)por A e os vetores incógnitas e de termos independentes por x e b,respectivamente. Então, temos:
A =
1 x0 x2
0. . . xn
0
1 x1 x21
. . . xn1
1 x2 x22
. . . xn2
......
.... . .
...1 xn x2n . . . xn
n
x =
a0a1a2...an
, b =
f0f1f2...fn
O sistema anterior é da forma Ax = b, onde a matriz doscoe�cientes A é uma matriz de Vandermonde, com determinantedado por:
|A| =∏l>k
(xl − xk)
Como xl 6= xk para l 6= k , segue se que o determinate da matriz A
é diferente de zero.Portanto sistema linear (1) admite uma única solução.Isto é, existe um único polinômio de grau ≤ n que passa pelospontos (xl , fl ) l = 0, 1, 2, , n
Exemplo 1: Considere a seguinte tabela de pontos de uma funçãof .
x 0.0 0.2 0.4
f (x) 4 3.84 3.76
Determine o polinômio de grau menor ou igual a 2 que passa poresses pontos.Solução.
x0 = 0, x1 = 0.2, x2 = 0.4
f0 = 4, f1 = 3.84, f2 = 3.76
p2(x) = a0 + a1x + a2x2
Sistema linear a ser resolvido: 1 x0 x20
1 x1 x21
1 x2 x22
a0a1a2
=
f0f1f2
Susbstituindo-se os valores de x0, x1, x2, f0, f1, f2 dados na tabelaacima, tem-se: 1 0 0
1 0.2 0.041 0.4 0.16
a0a1a2
=
43.843.76
Resolvendo-se o sistema linear acima, tem-se:a0 = 4, a1 = −1, a2 = 1.Então, o polinômio interpolador é:
p2(x) = 4− x + x2
Polinômios de Lagrange
Sejam x0, x1, x2, . . . xn (n + 1 valores) com xl 6= xk para l 6= k .Os polinômios de Lagrange Lk(x), k = 0, 1, 2, . . . , n associados aosvalores xl l = 0, 1, 2, . . . , n são polinômios de grau n dados por:
Lk(x) =(x − x0)(x − x1) . . . (x − xk−1)(x − xk+1) . . . (x − xn)
(xk − x0)(xk − x1) . . . (xk − xk−1)(xk − xk+1) . . . (x − xn)
ou
Lk(x) =
∏nl=0, l 6=k(x − xl )∏nl=0, l 6=k(xk − xl )
, k = 0, 1, 2, . . . n
Alguns dos polinômios de Lagrange:
L0(x) =(x − x1)(x − x2)(x − x3) . . . (x − xn)
(x0 − x1)(x0 − x2)(x0 − x3) . . . (x0 − xn)
L1(x) =(x − x0)(x − x2)(x − x3) . . . (x − xn)
(x1 − x0)(x1 − x2)(x1 − x3) . . . (x1 − xn)
L2(x) =(x − x0)(x − x1)(x − x3) . . . (x − xn)
(x2 − x0)(x2 − x1)(x2 − x3) . . . (x2 − xn)
...
Ln(x) =(x − x0)(x − x1)(x − x2) . . . (x − xn−1)
(xn − x0)(xn − x1)(xn − x2) . . . (xn − xn−1)
Polinômio Interpolador na Forma de Lagrange
O polinômio interpolador de grau ≤ n de f relativamente aospontos (x0, f0), (x1, f1), (x2, f2), . . . , (xn, fn) é dado pela seguintefórmula:
pn(x) =n∑
k=0
fkLk(x)
onde Lk(x) k = 0, 1, 2, . . . , n são os polinômios de Lagrangeassociado aos x0, x1, x2, . . . xn.
Pode-se veri�car que pn(xi ) = fi , i = 0, 1, 2, . . . , n
Exemplo 2. Considere a mesma tabela do exemplo 1, isto é:
x 0.0 0.2 0.4
f (x) 4 3.84 3.76
Usando a fórmula de Lagrande determine o polinômio interpoladorque passa por esses três pontos da função f .Solução.Os valores dos xi´s são: x0 = 0, x1 = 0.2, x2 = 0.4 e dos fi´ssão:
f0 = 4, f1 = 3.84, f2 = 3.76
O polinômio usando a fórmula de Lagrange é:
p2(x) =2∑
i=0
fiLi (x)
Valor de n = 2, então temos três polinômios de Lagrange
L0(x) =(x − x1)(x − x2)
(x0 − x1)(x0 − x2)=
(x − 0.2)(x − 0.4)
(0− 0.2)(0− 0.4)=
(x − 0.2)(x − 0.4)
0.08=
(x2 − 0.6x + 0.08)
0.08
L1(x) =(x − x0)(x − x2)
(x1 − x0)(x1 − x2)=
(x − 0)(x − 0.4)
(0.2− 0)(0.2− 0.4)=
x(x − 0.4)
−0.04= −
x2 − 0.4x
0.04
L2(x) =(x − x0)(x − x1)
(x2 − x0)(x2 − x1)=
(x − 0)(x − 0.2)
(0.4− 0)(0.4− 0.2)=
x(x − 0.2)
0.08=
x2 − 0.2x
0.08
Para o exemplo 2, os polinômios de Lagrange foram:
L0(x) =(x2 − 0.6x + 0.08)
0.08
L1(x) = −x2 − 0.4x0.04
L2(x) =x2 − 0.2x
0.08
A soma desses polinômios é:
L0(x)+L1(x)+L2(x) =(x2 − 0.6x + 0.08)
0.08+−x2 − 0.4x
0.04+x2 − 0.2x
0.08
L0(x) + L1(x) + L2(x) = 1
Forma de Newton para o Polinômio Interpolador
1. É outra forma de determinar-se o polinômio interpolador quepassa pelos pontos:
(x0, f0), (x1, f1), (x2, f2), . . . , (xn, fn).
2. A expressão do polinômio interpolador na forma de Newton édada por:
pn(x) = d0+d1(x−x0)+d2(x−x0)(x−x1)+· · ·+dn(x−x0)(x−x1) . . . (x−xn−1)
onde d0, d1, d2,. . . ,dn são constantes.
3. Quais são os valores das constantes d0, d1, d2,. . . ,dn−1 e dn?
Diferença dividida
De�nição. Sejam x0, x1, x2,. . . , xn (n+1) pontos distintos nointervalo [a, b], e sejam f0, f1,. . . , fn, (n + 1) valores de umafunção y = f (x) sobre x = xk , k = 0, 1, . . . , n. De�ne-se:
f [xk ] = f (xk), k = 0, 1, . . . , n
f [xL, xL+1, xL+2, . . . , xk ] =f [xL+1, xL+2, . . . , xk ]− f [xL+1, x1, . . . , xk−1]
xk − xL, L = 0, 1, 2, . . . , n−k , k = 1, 2, . . . , n
onde f [xL, xL+1, xL+2, . . . , xk ] é a diferença dividida de ordem(k − L) da função f sobre os pontos x0, x1, x2,. . . , xn.OBSERVAÇÃO:
I Nessa de�nição não se pede que os pontos x0, x1, x2,. . . , xnestejam ordenado em forma crescente.
Usando-se a de�nição, algumas diferenças divididas de ordem 1 são:
f [x0, x1] =f [x1]− f [x0]
x1 − x0
f [x1, x2] =f [x2]− f [x1]
x2 − x1
f [x2, x3] =f [x3]− f [x2]
x3 − x2
...
f [xn−1, xn] =f [xn]− f [xn−1]
xn − xn−1
Algumas diferenças divididas de ordem 2 são:
f [x0, x1, x2] =f [x1, x2]− f [x0, x1]
x2 − x0
f [x1, x2, x3] =f [x2, x3]− f [x1, x2]
x3 − x1
f [x2, x3, x4] =f [x3, x4]− f [x2, x3]
x4 − x2
...
f [xn−2, xn−1, xn] =f [xn−1, xn]− f [xn−2, xn−1]
xn − xn−2
Cálculo Sistemático das Diferenças Divididas
Para calcular as diferenças divididas de uma função f sobre ospontos (x0, f0), (x1, f1), (x2, f2),. . . , (xn, fn), constroia-se umatabela de diferenças divididas mostrada a seguir:
Ordem 0 Ordem 1 Ordem 2 . . .
xk f [xk ] f [xi , xj ] f [xi , xj , xk ]
x0 f [x0] = f0
f [x0, x1] = f [x1]−f [x0]x1−x0
x1 f [x1] = f1 f [x0, x1, x2] = f [x1,x2]−f [x0,x1]x2−x0
f [x1, x2] = f [x2]−f [x1]x2−x1
. . .
x2 f [x2] = f2 f [x1, x2, x3] = f [x2,x3]−f [x1,x2]x3−x1
f [x2, x3] = f [x3]−f [x2]x3−x2
. . .
x3 f [x3] = f3 f [x2, x3, x4] = f [x3,x4]−f [x2,x3]x4−x2
f [x3, x4] = f [x4]−f [x3]x4−x3
. . .
x4 f [x4] = f4...
Exemplo 3: Para os pontos x0 = 0, x1 = 1, x2 = 3, x3 = 4 e osvalores y0 = 0, y1 = 2, y2 = 8, y3 = 9 a tabela de diferençasdivididas é dada por:
Ordem 0 Ordem 1 Ordem 2 Ordem 3xk f [xk ] f [xi , xj ] f [xi , xj , xk ] f [xi , xj , xk , xr ]
0 02−01−0 = 2
1 2 3−23−0 = 1
3
8−23−1 = 3
− 2
3− 1
3
4−0 = −1
4
3 8 1−34−1 = −2
39−84−3 = 1
4 9
Como determinar as constantes d0, d1, d2,. . . ,dn−1 e dn dopolinômio interpolador dado na forma de Newton ?
Lembrar que a forma de Newton para o polinômio interpolador é
pn(x) = d0+d1(x−x0)+d2(x−x0)(x−x1)+· · ·+dn(x−x0)(x−x1) . . . (x−xn−1)(2)
e passa pelos pontos:
(x0, f0), (x1, f1), (x2, f2), . . . , (xn, fn),
então:pn(xi ) = fi , i = 0, 1, 2, . . . , n. (3)
Avaliando-se a expressão (2) em x = x0, tem-se:
pn(x0) = d0.
e usando-se a condição (3) para i = 0 (p(x0) = f0), obtém-se
d0 = f0 = f [x0] (4)
Avaliando-se a expressão (2) para x = x1, tem-se:
pn(x1) = d0 + d1(x1 − x0).
Usando-se a condição (3) para i = 1 (p(x1) = f1), obtém-se
d0 + d1(x1 − x0) = f1, (5)
Então:
d1 =f1 − d0
x1 − x0=
f1 − f0
x1 − x0(6)
d1 = f [x0, x1]
Seguindo o mesmo raciocínio anterior para determinar oscoe�cientes d0 e d1, tem-se que:
pn(x2) = d0 + d1(x2 − x0) + d2(x2 − x0)(x2 − x1) = f2
Disto, obtemos
d2 =f2 − d0 − d1(x2 − x0)
(x2 − x0)(x2 − x1). (7)
Substitui-se a expressão de d0 e d1na equação para d2 esimplica-se, obtemdo-se:
d2 =f2−f1x2−x1
− f1−f0x1−x0
x2 − x0(8)
d2 =f [x1, x2]− f [x0, x1]
x2 − x0= f [x0, x1, x2]
Pode-se observar que as constantes d0, d1e d2 são os primeiroselementos das diferenças divididas de ordem 0, ordem 1 e ordem 2,respectivamente.
Teorema Os valores das constantes d0, d1, d2,. . . ,dn−1 e dn, dopolinômio interpolador na representação de Newton, são
d0 = f0
d1 = f [x0, x1]
d2 = f [x0, x1, x2]
...
dn = f [x0, x1, x2, . . . , xn]
Exemplo 4. Determine o polinômio interpolador para os pontos def informados no Exemplo 3, conforme a tabela abaixo:
xk 0 1 3 4
fk 0 2 8 9
Da tabela de diferenças divididas calculadas no exemplo 3, obtemosos seguintes dados:
f [x0] = 0, f [x0, x1] = 2, f [x0, x1, x2] = 1/3, f [x0, x1, x2, x3] = −1/4.
Logo,d0 = 0, d1 = 2, d2 = 1/3, d3 = −1/4
Portanto, o polinômio interpolador na forma de Newton é:
p3(x) = 0+2(x−x0)+13(x−x0)(x−x1)−
14(x−x0)(x−x1)(x−x2)
p3(x) = 2x +13x(x − 1)− 1
4x(x − 1)(x − 3)
O esboço do grá�co do polinômio interpoladorp3(x) = 2x + 1
3x(x − 1)− 1
4x(x − 1)(x − 3) e os dados de f são
mostrados na �gura abaixo:
Exemplo 5. Determine o polinômio interpolador que passa pelospontos de f informados na tabela abaixo:
xk 0 1 3 4 5
fk 0 2 8 9 1
Solução.A forma de Newton do polinômio interpolador é dada por:
p4(x) = d0 + d1(x − x0) + d2(x − x0)(x − x1) + d3(x − x0)(x − x1)(x − x2) +
+d4(x − x0)(x − x1)(x − x2)(x − x3)
p4(x) = d0+d1x+d2x(x−1)+d3x(x−1)(x−3)+d4x(x−1)(x−3)(x−4)
Onde os valores das constantes d0, d1, d2, d3 e d4 são obtidosatravés da tabela das diferenças divididas.
Observa-se que no exemplo 5 existe um dado a mais que noexemplo 4. Nesse caso, pode-se aproveitar a tabela de diferençasdivididas construída para o exemplo 4, isto é:
Ordem 0 Ordem 1 Ordem 2 Ordem 3 Ordem 4
xk f [xk ] f [xi , xj ] f [xi , xj , xk ] f [xi , xj , xk , xr ] f [xi , xj , xk , xr , xs ]
0 0
2−01−0 = 2
1 23−23−0 = 1
3
8−23−1 = 3
− 2
3− 1
3
4−0 = − 1
4
3 81−34−1 = −2
3
9−84−3 = 1
4 9
5 1
Ordem 0 Ordem 1 Ordem 2 Ordem 3 Ordem 4
xk f [xk ] f [xi , xj ] f [xi , xj , xk ] f [xi , xj , xk , xr ] f [xi , xj , xk , xr , xs ]
0 0
2−01−0 = 2
1 23−23−0 = 1
3
8−23−1 = 3
− 2
3− 1
3
4−0 = − 1
4
3 81−34−1 = −2
3
− 23
24+ 1
4
5−0 = − 17
120
9−84−3 = 1
−4.5+ 2
3
5−1 = −2324
4 9−8−15−3 = −4.5
1−95−4 = −8
5 1
Logo, o polinômio interpolador é:
p4(x) = 2x+13x(x−1)−1
4x(x−1)(x−3)− 17
120x(x−1)(x−3)(x−4)
O esboço do grá�co do polinômio interpolador e dos dados de f émonstrado na �gura abaixo
Erro na aproximação de f por seu polinômio interpolador
TeoremaSeja f contínua em [a, b] e suponhamos que f (n+1)(x) exista emcada ponto (a, b). Se a ≤ x0 < x1 < · · · < xn ≤ b, então:
En(f ; x) = f (x)− pn(x) =(x − x0)(x − x1) . . . (x − xn)
(n + 1)!f (n+1)(ε),
onde min{x0, x1, . . . , xn} < ε < max{x0, x1, . . . , xn}. O ponto εdepende de x , isto é, ε = ε(x)
A equação
En(f ; x) = f (x)− pn(x) =(x − x0)(x − x1) . . . (x − xn)
(n + 1)!f (n+1)(ε),
tem uso limitado na prática, pois raramente ε é conhecido. Suaprincipal aplicação é na estimativa do erro de truncamento para asfórmulas de interpolação, integração e diferenciação numérica.
Corolário. Seja En(f ; x) = f (x)− pn(x). Se f (x) e suasderivadas até ordem n + 1 são contínuas em [a, b] então:
|En(f ; x)| ≤ |(x − x0)||(x − x1)| . . . |(x − xn)|(n + 1)!
maxa≤t≤b
|f (n+1)(t)|