O documento discute técnicas de interpolação para estimar valores de uma função f(x) entre pontos amostrados. A interpolação polinomial aproxima f(x) por um polinômio que passa exatamente pelos pontos amostrados, enquanto a interpolação de Lagrange e Newton usam fórmulas que dependem das diferenças divididas entre os pontos.
2. A necessidade de obter um valor
intermediário que não consta de uma
tabela ocorre comumente
Dados experimentais, tabelas estatísticas
e de funções complexas são exemplos
desta situação.
Como obter estes dados?
3.
Dado um conjunto de dados {xi,f(xi)} tal como na
tabela abaixo:
xi
f(xi)
0
0,001
1,5
3,0
4,5
6,0
0,016
0,028
0,046
0,057
Como obter o valor de f(x) para um valor de x que
não tenha sido medido, como x=2.0 ?
Quando se deseja saber o valor de f(x) para um x
intermediário entre duas medidas, isto é, xi<x<xi+1,
pode-se usar as técnicas da interpolação
4.
A interpolação consiste em determinar uma
função, que assume valores conhecidos em
certos pontos (nós de interpolação)
A classe de funções escolhida para a
interpolação é a priori arbitrária, e deve ser
adequada às características que pretendemos
que a função possua
Função a ser considerada:
Polinômios ⇒ Interpolação Polinomial
5.
Métodos de interpolação polinomial são
utilizados para aproximar uma função f(x),
principalmente nas seguintes situações:
conhece-se apenas valores de f(x) em
apenas pontos discretos x0, x1 , x2 , ...
f(x)
é extremamente complicada e de difícil
manejo
f(x) não é conhecida explicitamente
6.
A interpolação por meio de polinômios consiste em:
Interpolar um ponto x a um conjunto de n+1 dados {xi,f(xi)},
significa calcular o valor de f(x), sem conhecer a forma
analítica de f(x) ou ajustar uma função analítica aos dados
7.
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(xn)=f(xn)
Obs: contagem começa em zero, portanto tem-se n+1 pontos na expressão
8.
Polinômio p(x) - polinômio interpolador
Pode-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)}
p n (x 0
)=
2
n
a 0 + a 1 ⋅ x 0 + a 2 ⋅ x 0 + ... + a n ⋅ x 0 = f
(x )
0
2
n
p n ( x 1 ) = a 0 + a 1 ⋅ x 1 + a 2 ⋅ x 1 + ... + a n ⋅ x 1 = f ( x 1 )
...
2
n
p n (x n ) = a 0 + a 1 ⋅ x n + a 2 ⋅ x n + ... + a n ⋅ x n = f (x n )
9.
O conjunto de equações corresponde a um
sistema linear de n+1 equações e n+1 variáveis
Quais
são as variáveis independentes? ai
ou xi ?
Poderia
ser resolvido diretamente
Essa é uma das formas de se obter o
polinômio interpolador
10. f ( x ) ≈ P ( x ) = a0 +a1x
1
P ( x0 ) = y 0
1
P ( x1 ) = y1
1
a0 +a1x0 = y0
a0 +a1x1 = y1
1
⇔
1
x0 a0
y0
a = y
x1 1
1
y1 − y0
P ( x ) = y0 +
( x − x0 )
1
x1 − x0
11. Problema
Determinar o polinômio interpolador
através da resolução de um sistema linear
é caro computacionalmente
Outros modos de se obter o polinômio:
Lagrange
Newton
12.
Seja um conjunto de n+1 dados {xi,f(xi)}.
Encontrar um polinômio interpolador p(x)
que passe por todos os pontos
p(x) = L0(x) ⋅ f (x0) + L1(x) ⋅ f (x1)+...+Ln (x) ⋅ f (xn)
Lk(x) são polinômios tais que:
Lk ( xi ) = δ ki
sendo que:
0 se , k ≠ i
δ ki =
1 se , k = i
13. (x − x )⋅ (x − x )⋅ ...⋅(x − x )⋅ (x − x )⋅ ...⋅(x − x )
L ( x) =
(x − x )⋅ (x − x )⋅...⋅(x − x )⋅ (x − x )⋅ ...⋅(x − x )
0
k −1
1
k +1
n
k
k
0
k
Pois:
Lk ( x k ) = 1 e
Lk ( xi ) = 0 se, i ≠ k
1
k
ki −1
k
ki +1
k
n
14. Interpolação Linear
Interpolação para 2 pontos (n+1=2) ajuste de retas (n=1) (Interpolação
Linear)
x
x
x
i
0
f(xi)
p ( x) =
1
f(x0)
f(x1)
1
∑ L ( x). f ( x ) = L ( x). f ( x ) + L ( x). f ( x )
i= 0
i
i
0
0
1
1
15.
Ajuste uma reta aos seguintes pontos
(x;f(x)): (2; 3,1) e (4; 5,6)
x − x1
x − x0
p( x ) =
x − x ⋅ f ( x0 ) + x − x ⋅ f ( x1 )
0 1
1 0
16.
Ajuste uma reta aos seguintes pontos
(x;f(x)): (2; 3,1) e (4; 5,6)
x − x1
x − x0
p( x ) =
x − x ⋅ f ( x0 ) + x − x ⋅ f ( x1 )
0 1
1 0
x − 4
x − 2
p( x ) =
⋅ 3 .1 +
⋅ 5.6 = − 1.55 ⋅ ( x − 4 ) + 2.8 ⋅ ( x − 2)
2− 4
4− 2
p ( x ) = 1.25 ⋅ x + 0.6
17. Forma de Newton
p ( x ) = d 0 + d 1( x − x 0) + d 2( x − x1)( x − x 0) + ... +
dn ( x − xn − 1)( x − xn − 2)...( x − x 0)
dn -> é o operador diferença dividida
18. Diferenças divididas
Ordem 0
f [ x 0] = f ( x 0)
f [ x 0, x1] =
f [ x1] − f [ x 0]
f ( x1) − f ( x 0)
=
x1 − x 0
x1 − x 0
f [ x 0, x1, x 2] =
f [ x1, x 2] − f [ x 0, x1]
x 2 − x0
f [ x 0, x1, x 2, x 3] =
f [ x1, x 2, x 3] − f [ x 0, x1, x 2]
x3 − x 0
Ordem 1
Ordem 2
Ordem 3
19. Ordem 0
f [ x 0]
Ordem 1
Ordem 2
f [ x 0, x1]
f [ x 0, x1, x 2]
f [ x1]
f [ x 2]
f [ x 3]
...
f [ xn ]
f [ x1, x 2]
f [ x 2 , x 3]
...
f [ x1, x 2, x3]
20. Exemplo
Calcule a tabela de diferenças divididas
para os seguintes valores:
x
-1
0
1
2
3
F(x)
1
1
0
-1
-2
22.
Mas qual o valor de d?
d 0 = f ( x 0)
d 1 = f [ x 0, x1]
d 2 = f [ x 0, x1, x 2]
dn = f [ x 0, x1,...xn ]
23.
Assim,
p ( x ) = f ( x 0) + f [ x 0, x1]( x − x 0) +
f [ x 0, x1, x 2]( x − x1)( x − x 0) + ... +
f [ x 0, x1,...xn ]( x − xn − 1)( x − xn − 2)...( x − x 0)