Interpolação
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?



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






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


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


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


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


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 )


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
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
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


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
(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
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


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


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
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
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
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]
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
1
0
1

- 1/2
-1

0

1/6
0

-1
-1
-2

0
0

-1

- 1/24


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 ]


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)

Mn aula06-interpolacao

  • 1.
  • 2.
    A necessidade deobter 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 conjuntode 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 consisteem 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çãopolinomial 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 pormeio 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 consisteem 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 deequaçõ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ômiointerpolador através da resolução de um sistema linear é caro computacionalmente  Outros modos de se obter o polinômio:  Lagrange  Newton
  • 12.
     Seja um conjuntode 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 para2 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 retaaos 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 retaaos 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 tabelade diferenças divididas para os seguintes valores: x -1 0 1 2 3 F(x) 1 1 0 -1 -2
  • 21.
  • 22.
     Mas qual ovalor 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)