Você está na página 1de 44

Interpolação

Emanuele Santos

Bibliografia:
Ruggiero, Cap. 5, Seções 5.1, 5.2, 5.3.1 e 5.3.2.
Campos, Cap.3, Seções 3.1 e 3.2.
Objetivos
Ao final desta aula você será capaz de:
Utilizar interpolação polinomial por sistema linear para
encontrar um valor intermediário que não consta em uma
tabela
Utilizar a forma de Lagrange para encontrar o polinômio
interpolador

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 2


Agenda
Introdução
Interpolação Polinomial
Interpolação por sistema linear
Forma de Lagrange

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 3


Introdução à Interpolação
Suponha que você deseja estimar a densidade e a
viscosidade do ar e você possui a seguinte tabela:

T, ºC ρ, kg/m 3 μ, N xs/m2

-40 1.52 1.51 x 10-5

0 1.29 1.71 x 10-5

20 1.2 1.80 x 10-5

50 1.09 1.95 x 10-5

100 0.946 2.17 x 10-5

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 5


Problema 1:
Suponha que a temperatura na qual você deseja calcular
a densidade do ar não esteja contida na tabela (por
exemplo, 32ºC).

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 6


Tabela de valores para a densidade (ρ) e viscosidade
dinâmica do ar(μ) de acordo com a temperatura.

T, ºC ρ, kg/m 3 μ, N xs/m2

-40 1.52 1.51 x 10-5

0 1.29 1.71 x 10-5

20 1.2 1.80 x 10-5


?
50 1.09 1.95 x 10-5

100 0.946 2.17 x 10-5

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 7


Problema 2:
Suponha ainda que você deseja saber em qual
temperatura o ar possui densidade (ρ) igual a 1 kg/m .
3

Para resolver os problemas acima utilizaremos


interpolação.

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 8


Interpolação
Interpolar uma função f(x) consiste em aproximar essa função
por uma outra função g(x) escolhida entre uma classe de
funções pré-definidas.
Quando interpolar:
Quando precisamos encontrar o valor correspondente de f(x)
para um dado x não pertencente à tabela de valores de f(x).
Quando a função em estudo tem uma expressão tal que
operações como diferenciação e integração são difíceis (ou
até mesmo impossíveis) de serem realizadas.
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 9
Conceitos sobre Interpolação
Dada uma função f(x), sejam:
nós da interpolação: n+1 pontos distintos: x0, x1, ..., xn.
valores de f(x) dos nós da interpolação são conhecidos: f(x0),
f(x1), ..., f(xn).
Forma de interpolação: encontrar uma função g(x), tal que:
8
>
> g(x 0 ) = f (x 0 )
>
< g(x1 ) = f (x1 )
.. ..
>
> . .
>
:
g(xn ) = f (xn )
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 10
Interpolação graficamente
f(x)
(x2,f(x2))
Para n = 3 f(x)

(x0,f(x0)) (x3,f(x3))
(x1,f(x1)) g(x)

x0 x1 x2 x3 x
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 11
Interpolação polinomial
Quando g(x) é um polinômio, ou seja:
Dados (x0, f(x0)), (x1, f(x1)), ..., (xn,f(xn)), aproximar f(x) por um
polinômio pn(x), de grau menor ou igual a n, tal que:
f(xk) = pn(xk) k=0, 1, 2, ..., n
pn(x) = a0 + a1x + a2x + ... + anx
2 n

Obter pn(x), significa obter os coeficientes a0, a1, ..., an


Existem vários métodos para construir um polinômio
interpolador e o primeiro deles envolve a solução de um
sistema de equações lineares.
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 12
Interpolação por Sistema Linear
Da condição pn(xk) = f(xk) ∀k = 0, 1, 2, ..., n, montamos o
seguinte sistema linear com n+1 equações e n+1
variáveis:
8 2 n
>
> a 0 + a 1 x 0 + a 2 x 0 + · · · + a n x 0 = f (x 0 )
>
< a0 + a1 x1 + a2 x21 + · · · + an xn1 = f (x1 )
.. ..
>
> . .
>
: 2 n
a0 + a1 xn + a2 xn + · · · + an xn = f (xn )

Variáveis: a0, a1, ..., an.


UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 14
Características do sistema
8 2
linear 3
2 n 2 n
>
> a 0 + a 1 x 0 + a 2 x 0 + · · · + a n x 0 = f (x0 ) 1 x0 x0 ... x0
>
< a0 + a1 x1 + a2 x21 + · · · + an xn1 6 7
= f (x1 )
6 2 n 7
>
.. .. 6 1 x1 x1 ... x1 7
>
>
:
.
2 n
. A=6
6 .. .. .. .. 7
7
a 0 + a 1 xn + a 2 xn + · · · + a n xn = f (xn ) 6
4 . . . . 75
Matriz dos coeficientes, também 1 xn 2
xn ... xn n

chamada de matriz de Vandermonde.


Desde que x0, x1, ..., xn sejam pontos
distintos, det(A) ≠ 0.
Sistema admite solução única.

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 15


Teorema da Existência e Unicidade

Existe um único polinômio pn(x), de grau ≤ n, tal


que: pn(x) = f(xk), k = 0, 1, 2, ..., n, desde que xk ≠
xj, j ≠ k.

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 16


Interpolação linear
Sejam dois pontos-base (x0, f(x0)) e (x1, f(x1)), com x0 ≠ x1.
Queremos obter uma aproximação de f(z), z ∈ (x0, x1).
f (x) ⇡ p1 (x) = a0 + a1 x
p1(x) é um polinômio interpolador de grau 1.
p1(x) deve passar pelos dois pontos-base:
((   
p1p(x (x
0
1 0 ) =
) f
= (x
f (x
0 ) 0 ) a 0a+0 a
+ 1ax10x=0 f
= (x
f (x
0 ) 0 ) 1 1 x0x0 a0a0 f (x 0 )0 )
f (x
!! ,, ==
p1p(x 1 ) 1=
1 (x )=f (x 1 )1 )
f (x a0a+ a
+ ax
0 1 11 1 x= f
= (x
f (x)
1 1 ) 1 1 x 1x 1 a 1a 1 f (x
f (x
1 ) 1 )

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 17


Interpolação

linear
 
1 x0 a0 f (x0 )
=
1 x1 a1 f (x1 )
Aplicando-se uma operação l-elementar para transformar o
sistema em um sistema triangular superior equivalente, temos:
  
1 x0 a0 f (x0 )
=
0 x1 x0 a1 f (x1 ) f (x0 )
Solução:
f (x1 ) f (x0 )
a1 = e a0 = f (x0 ) a1 x0
x1 x0
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 18
Interpolação linear
f (x1 ) f (x0 )
a1 = e a0 = f (x0 ) a1 x0
x1 x0
O polinômio interpolador torna-se:
p1 (x) = a0 + a1 x
p1 (x) = (f (x0 ) a 1 x0 ) + a 1 x
f (x1 ) f (x0 )
p1 (x) = f (x0 ) + (x x0 )
x1 x0

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 19


Interpolação linear: Exemplo
Calcule uma aproximação para os valores de f(0.2) e f(0.3)
usando interpolação linear a partir da tabela:

i 0 1
xi 0.1 0.6
f(xi) 1.221 3.32

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 20


Interpolação linear: Exemplo
f (x1 ) f (x0 ) i 0 1
p1 (x) = f (x0 ) + (x x0 )
x1 x0 xi 0.1 0.6
3.320 1.221 f(xi) 1.221 3.32
p1 (0.2) = 1.221 + (0.2 0.1) = 1.641
0.6 0.1
3.320 1.221
p1 (0.3) = 1.221 + (0.3 0.1) = 2.061
0.6 0.1
Sabendo que neste exemplo, f(x) = e ,
2x então os erros cometidos
foram: 2⇥0.2
x = 0.2 ) 1.641 e = 0.149
2⇥0.3
x = 0.3 ) 2.061 e = 0.239
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 21
Representação gráfica
f(x) = e 2x
Quanto mais p1(x)
próximo o valor a
ser interpolado for
de um ponto-base,
melhor será o
resultado obtido
pela interpolação. erro

0.2 0.3
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 22
Interpolação quadrática
O resultado da interpolação pode ser melhorado pelo aumento
do grau do polinômio interpolador.
Sejam três pontos-base (x0, f(x0)), (x1, f(x1)) e (x2, f(x2)) com xi
distintos.
Queremos obter uma aproximação de f(z), z ∈ (x0, x2).
2
f (x) ⇡ p2 (x) = a0 + a1 x + a2 x

p2(x) é um polinômio interpolador de grau 2.

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 23


Interpolação quadrática
2
f (x) ⇡ p2 (x) = a0 + a1 x + a2 x

p2(x) deve passar pelos três pontos-base:


222 333222 333 222 333
888 2 2
pp2p2(x (x
2(x00)0))
===ff(x
f(x
(x
00)0)) >>>
a
<aa +++
aaa xxx + +
+aaa xx2
x22
= =
=fff
(x(x
(x )) ) 111 xx0x00 xx0x00 7 6aa0a00 7 6ff(x
2 f(x
(x
00)0)) 7
<< 000 111 000 222 000 00 0 666 7766 77 66 77
2 2 666 2777666 77
7 666 777
p
pp22(x (x
2(x11)1))
= =
=fff
(x(x
(x11)1)) !
!! aaa
00+
0++
aaa
11x
1xx
11+
1 +
+aaa
22x
2xx
1
2=
1 =
=fff
(x(x
(x11))
1 ) ,
,,666111 xx111 xx111 7666aa1a11777==
x 2x2 77 =666ff(x
f(x11)1))77
(x 7
>
:>>
:
1
:a a++a ax x++a ax2x22==f (x 444 555444 555 444 555
pp2p2(x (x ) = f (x ) a 0+ a 1x 2 + a 2x = ff (x
(x ))
2 ) 111 2 22
xx2x22 xx2x22 aa2a22 f(x
(x
22)2))
) = f (x ) 00 11 22 22 22 2 22 ff(x
2(x22 2) = f (x22 2)

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 24


Interpolação quadrática: Exemplo
Encontre o polinômio de grau = 2 que interpola os
pontos da tabela:

i 0 1 2
xi -1 0 2
f(xi) 4 1 -1

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 25


Interpolação quadrática: Exemplo
88
pp22(x
(x00)) =
= ff(x
(x00)) >
<>
<aa00 a
a 1
1 +
+ a
a 2
2 =
= 4
4 i 0 1 2
pp22(x
(x11)) = (x11)) !
= ff(x ! aa00 = = 11 xi -1 0 2
>
:>
:
pp22(x
(x22)) =
= ff(x
(x22)) aa00 +
+ 2a
2a11 ++ 4a
4a22 =
= 11 f(xi) 4 1 -1
2 32 3 2 3
1 1 1 a0 4
4 1 0 0 5 4 a1 5 = 4 1 5
2
1 2 4 a2 1 p2 (x) = a0 + a1 x + a2 x

Resolvendo o sistema linear, obtemos: 7 2 2


) p2 (x) = 1 x+ x
a0 = 1, a1 = -7/3 e a2 = 2/3 3 3
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 26
Exercício
Encontre o polinômio de grau = 2 que interpola os pontos da
tabela:
i 0 1 2
xi 0.1 0.6 0.8
f(xi) 1.221 3.32 4.953
8
> 2
p2 (x0 ) = f (x0 ) <a0 + a1 x0 + a2 x0 = f (x0 )
2
p2 (x1 ) = f (x1 ) ! a0 + a1 x1 + a2 x1 = f (x1 )
>
:
p2 (x2 ) = f (x2 ) 2
a0 + a1 x2 + a2 x2 = f (x2 )
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 27
Representação gráfica
f(x) = e 2x
O resultado da p2(x)
interpolação pode
p1(x)
ser melhorado pelo
aumento do grau
do polinômio erro
interpolador:

0.2 0.3

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 28


Interpolação polinomial por sistema
linear: Observações
Determinar os coeficientes do polinômio interpolador
por meio da resolução de um sistema de equações
lineares, apesar de ser conceitualmente simples, requer
um certo esforço computacional:
Métodos diretos para solução de sistemas de equações
lineares são da ordem de n 3

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 29


Interpolação polinomial por sistema
linear: Observações
A matriz dos coeficientes do sistema linear pode ser mal
condicionada:
Uma matriz é mal condicionada quando uma pequena
perturbação nos seus coeficientes implica em uma
grande mudança no vetor solução (a matriz é quase
singular).

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 30


(Exemplo de matriz mal condicionada)
 
1 0.99 1.99
A= eb=
0.99 0.98 1.97

Ax = b possui vetor solução x = [ 1 1] .


T

Agora sejam:  
1 0.99 1.99
à = ⇡Aeb=
0.99 0.99 1.97

Ãx = b possui vetor solução x = [2 -0.010101] T

A matriz A é quase singular: det(A) = -10 .


-4

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 31


Interpolação polinomial:
Formas alternativas
Precisamos adotar uma metodologia alternativa para
obter o polinômio interpolador de modo a evitar a
solução de um sistema de equações lineares:
Polinômios de Lagrange
Polinômios de Newton

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 32


Interpolação polinomial pela 

Forma de Lagrange
Forma de Lagrange
Sejam x0, x1, ..., xn, n+1 pontos distintos e yi = f(xi), i = 0, ..., n.
Seja pn(x) o polinômio de grau ≤ n que interpola f em x0, x1, ...,
xn. Podemos representar pn(x) na forma:

pn (x) = y0 L0 (x) + y1 L1 (x) + · · · + yn Ln (x)


onde os polinômios Lk(x) são de grau n.
Para cada i, satisfazer pn(xi) = yi.
pn (xi ) = y0 L0 (xi ) + y1 L1 (xi ) + · · · + yn Ln (xi ) = yi
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 34
Forma de Lagrange
pn (xi ) = y0 L0 (xi ) + y1 L1 (xi ) + · · · + yn Ln (xi ) = yi
A forma mais simples de se satisfazer pn(xi) = yi é:
(
0 se k 6= i
Lk (xi ) =
1 se k = i
e para isso define-se Lk(x) por:
(x x0 )(x x1 ) . . . (x xk 1 )(x xk+1 ) . . . (x xn )
Lk (x) =
(xk x0 )(xk x1 ) . . . (xk xk 1 )(xk xk+1 ) . . . (xk xn )
Lk (xk ) = 1 Lk (xi ) = 0, se i 6= k
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 35
Forma de Lagrange
(x x0 )(x x1 ) . . . (x xk 1 )(x xk+1 ) . . . (x xn )
Lk (x) =
(xk x0 )(xk x1 ) . . . (xk xk 1 )(xk xk+1 ) . . . (xk xn )
Lk (xk ) = 1 Lk (xi ) = 0, se i 6= k

Para x = xi, i = 0, 1, ..., n, temos:


n
X
pn (xi ) = yk Lk (xi ) = yi Li (xi ) = yi
k=0

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 36


Forma de Lagrange
Então a forma de Lagrange para o polinômio interpolador é:
n
X
pn (x) = yk Lk (x)
k=0
onde:
n
Y x xj
Lk (x) =
j=0
xk xj
j6=k

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 37


Interpolação linear e a forma de
Lagrange: Exemplo 1
Calcule uma aproximação para f(0.2) usando interpolação
linear e a forma de Lagrange a partir da tabela:
i 0 1 2
xi 0.1 0.6 0.8
yi 1.221 3.32 4.953
Quantos pontos precisaremos para achar o polinômio de grau 1?
Quantos pontos temos? Que pontos vamos utilizar?
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 38
Interpolação linear e a forma de
Lagrange: Exemplo 1
n n
Y i 0 1
X x xj
pn (x) = yk Lk (x) Lk (x) = xi 0.1 0.6
k=0 j=0
xk xj
j6=k
yi 1.221 3.32
x x1 x x0
p1 (x) = y0 + y1
x0 x1 x1 x0

0.2 0.6 0.2 0.1


p1 (0.2) = 1.221 + 3.320 = 1.641
0.1 0.6 0.6 0.1

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 39


Interpolação quadrática e a forma de
Lagrange: Exemplo 2
Encontre o polinômio de grau 2 que interpola os pontos
da tabela usando a forma de Lagrange:

i 0 1 2
xi -1 0 2
yi 4 1 -1

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 40


Interpolação quadrática e a forma
de Lagrange: Exemplo 2
n
X n
Y x xj i 0 1 2
pn (x) = yk Lk (x) Lk (x) =
xk xj
k=0 j=0 xi -1 0 2
j6=k

p2 (x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x) yi 4 1 -1

2
(x x1 )(x x2 ) (x 0)(x 2) x 2x
L0 (x) = = =
(x0 x1 )(x0 x2 ) ( 1 0)( 1 2) 3
2
(x x0 )(x x2 ) (x + 1)(x 2) x x 2
L1 (x) = = =
(x1 x0 )(x1 x2 ) (0 + 1)(0 2) 2

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 41


Interpolação quadrática e a forma de
Lagrange: Exemplo 2
p2 (x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x) i 0 1 2
2
xi -1 0 2
(x x1 )(x x2 ) (x 0)(x 2) x 2x
L0 (x) =
(x0 x1 )(x0 x2 )
=
( 1 0)( 1 2)
=
3 yi 4 1 -1
2
(x x0 )(x x2 ) (x + 1)(x 2) x x 2
L1 (x) = = =
(x1 x0 )(x1 x2 ) (0 + 1)(0 2) 2
2
(x x0 )(x x1 ) (x + 1)(x 0) x +x
L2 (x) = = =
(x2 x0 )(x2 x1 ) (2 + 1)(2 0) 6

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 42


Interpolação quadrática e a forma de
Lagrange: Exemplo 2
2 x +x 2 2 i 0 1 2
x 2x x 2 x
L0 (x) = L1 (x) = L2 (x) = xi -1 0 2
3 2 6
p2 (x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x) yi 4 1 -1

Na forma de Lagrange, temos:


✓ 2
◆ ✓ 2
◆ ✓ 2

x 2x x x 2 x +x
p2 (x) = 4 +1 + ( 1)
3 2 6
7 2 2
) p2 (x) = 1 x+ x
3 3
UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 43
Exercício para casa:
Calcule uma aproximação para f(0.2) usando o polinômio de
Lagrange de grau 2 que interpola os pontos da tabela:

i 0 1 2
xi 0.1 0.6 0.8
yi 1.221 3.32 4.953

UFC - Universidade Federal do Ceará - Cálculo Numérico - Professora Emanuele Santos 44

Você também pode gostar