Upload
jadsons95
View
47
Download
1
Embed Size (px)
Citation preview
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:
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
0,057 0,046 0,028 0,016 0,001 f(xi)
6,04,53,01,50xi
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 interpoladorPode-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 x a a x a x a x f x
n n
n
0 0 1 0 2 0
2
0 0 ...
p x a a x a x a x f xn n
n
1 0 1 1 2 1
2
1 1 ...
p x a a x a x a x f xn n n n n n
n
n
0 1 2
2 ...
...
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 diretamenteEssa é uma das formas de se obter o
polinômio interpolador
xxxx
yyyxP
y
y
a
a
x
x
yxaa
yxaa
yxP
yxP
xaaxPxf
)()(
1
1
)(
)(
)()(
001
0101
1
0
1
0
1
0
1110
0010
111
001
101
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:LagrangeNewton
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 L x f x L x f x L x f xn n( ) ( ) ( ) ( ) ( ) ( ) ( ) 0 0 1 1 ...
Lk(x) são polinômios tais que:
L xk i ki sendo que:
ki
se k i
se k i
0
1
,
,
L x
x x x x x x x x x x
x x x x x x x x x xk
k k n
k k k ki k ki k n
( )
0 1 1 1
0 1 1 1
... ...
... ...
L x e
L x se i k
k k
k i
1
0 ,
Pois:
Interpolação Linear
Interpolação para 2 pontos (n+1=2) -
ajuste de retas (n=1) (Interpolação Linear) xi x0 x1
f(xi) f(x0) f(x1)
1
01100 )().()().()().()(
iii xfxLxfxLxfxLxp
Ajuste uma reta aos seguintes pontos (x;f(x)): (2; 3,1) e (4; 5,6)
101
00
10
1 xfxx
xxxf
xx
xxxp
Ajuste uma reta aos seguintes pontos (x;f(x)): (2; 3,1) e (4; 5,6)
101
00
10
1 xfxx
xxxf
xx
xxxp
28.2455.16.524
21.3
42
4
xxxx
xp
6.025.1 xxp
Forma de Newton
))...()((
...))(()(
021
012010
xxxxxxd
xxxxdxxddxp
nnn
dn -> é o operador diferença dividida
Diferenças divididas
)(][ 00 xfxf
01
01
01
011,0
)()(][][][
xx
xfxf
xx
xfxfxxf
02
1,02,12,1,0
][][][
xx
xxfxxfxxxf
03
2,1,03,2,13,2,1,0
][][][
xx
xxxfxxxfxxxxf
Ordem 0
Ordem 1
Ordem 2
Ordem 3
][ 1xf
][ 2xf
][ 3xf
][ nxf
][ 0xf][ 1,0 xxf
][ 2,1 xxf
][ 3,2 xxf
][ 2,1,0 xxxf
][ 3,2,1 xxxf
...
...
Ordem 0 Ordem 1 Ordem 2
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 1/6
0 0 - 1/24
-1 0
-1 0
-1
-2
Mas qual o valor de d?
],...,[
],,[
],[
)(
10
2102
101
00
nn xxxfd
xxxfd
xxfd
xfd
Assim,
))...()(](,...,[
...))(](,,[
)](,[)(
02110
01210
0100
xxxxxxxxxf
xxxxxxxf
xxxxfxfxp
nnn