Post on 07-Apr-2016
Métodos Numéricos
Interpolação PolinomialFórmula de Newton
Interpolação polinomial Interpolação de n+1 pontos através de um
polinômio de grau n:
(x0,y0), (x1,y1), ... (xn,yn) polinômio
Lagrange Através da definição de funções:
é possível obter o polinômio interpolatório sem resolver um sistema linear (fórmula de Lagrange).
Problema da fórmula de Lagrange Imagine que se queira o polinômio para os pontos:
Como vimos, obtemos o polinômio: P(x) = x2-6x+8 que interpola estes pontos.
Porém, se adicionamos mais uma medida:
Temos que calcular todo o novo polinômio desde o princípio, sem poder fazer uso da informação que já temos (para os três primeiros pontos).
Fórmula de Newton A fórmula interpolatória de Newton resolve este
problema:
Para calcular o novo polinômio (para n+1 pontos), usamos o polinômio que já temos (que interpola os n primeiros pontos) e adicionamos novos termos.
Antes de aprender a fórmula interpolatória de Newton, vejamos uns conceitos mais básicos...
Diferenças divididas Definimos as diferenças divididas de uma função
através de uma fórmula recursiva:
Diferenças divididas de ordem 0:
Diferenças divididas de ordem superior:diferença dividida de todos menos o primeiro
diferença dividida de todos menos o último
último menos o primeiro
Diferenças divididas Exemplo:
Tome a função f(x)=1/x e x0=1, x1=2, x2=4 e x3=5 e calcule f[x0,x1
,x2,x3]
f[x0] = f(x0)=1f[x1] = f(x1)=1/2f[x2] = f(x2)=1/4f[x3] = f(x3)=1/5
f[x0,x1] = (f[x1]-f[x0])/(x1-x0) = -1/2f[x1,x2] = (f[x2]-f[x1])/(x2-x1) = -1/8f[x2,x3] = (f[x3]-f[x2])/(x3-x2) = -1/20
Diferenças divididas Exemplo:
Tome a função f(x)=1/x e x0=1, x1=2, x2=4 e x3=5 e calcule f[x0,x1
,x2,x3]
f[x0] = f(x0)=1f[x1] = f(x1)=1/2f[x2] = f(x2)=1/4f[x3] = f(x3)=1/5
f[x0,x1] = -1/2f[x1,x2] = -1/8f[x2,x3] = -1/20
f[x0,x1,x2] = (f[x1,x2] - f[x0,x1])/(x2-x0) = 1/8
f[x1,x2,x3] = (f[x2,x3] - f[x1,x2])/(x3-x1) = 12/160
Diferenças divididas Exemplo:
Tome a função f(x)=1/x e x0=1, x1=2, x2=4 e x3=5 e calcule f[x0,x1
,x2,x3]
f[x0] = f(x0)=1f[x1] = f(x1)=1/2f[x2] = f(x2)=1/4f[x3] = f(x3)=1/5
f[x0,x1] = -1/2f[x1,x2] = -1/8f[x2,x3] = -1/20
f[x0,x1,x2] = 1/8f[x1,x2,x3] = 4/160
f[x0,x1,x2,x3,x4] = (f[x1,x2,x3]-f[x0,x1,x2])/(x3-x0) = -1/40
Esquema prático
Esquema prático (exemplo)
x Ordem 0 Ordem 1 Ordem 2 Ordem 3
1
2
4
5
1
1/2
1/4
1/5
-1/2
-1/8
-1/20
1/8
4/160-1/40
f(x)=1/x e x0=1, x1=2, x2=4 e x3=5. Calcule f[x0,x1,x2,x3]
Fórmula de Newton Usando as idéias de diferenças divididas,
definimos as funções abaixo:
...
(x x0)
(x x0,x1)
(x x0...xn)
Fórmula de Newton Das equações definidas, temos:
um ponto (n=0)
dois pontos (n=1)
Para n+1 pontos:
= polinômio de interpolação sobre os pontos x0, x1... xn
Isto é: Pn(xk) = f(xk)
Pn(x)
Vejamos quem é Pn(x):P1(x) = f[x0] + (x-x0)f[x0,x1]
P2(x) = f[x0] + (x-x0)f[x0,x1] + (x-x0)(x-x1) f[x0,x1,x2]
Pn(x) = Pn-1(x) + (x-x0)...(x-xn-1) f[x0,x1,x2...xn]
P1(x)
Exemplo Dados os pontos abaixo, calcular o polinômio
interpolatório, usando a fórmula de Newton.
Sabemos que:
Precisamos calcular: f[xo], f[x0,x1], f[x0,x1,x2]
Exemplo (solução) Usando o esquema prático
15
8
-1
-1
0
3
-7
-3
1
logo:
Erro de truncamento Mais uma vez, retomando a expressão da função
f(x) em termos das diferenças divididas:Pk(xk)
logo:f(x)-Pn(x) = erro de truncamento =
Sejam os dados:
Tabela
x -1 0 1f(x) 1 1 0
2 3-1 -2
x Ordem 0 Ordem 1 Ordem 2 Ordem 4-1 F[x0]=1
F[x0,x1]=00 1 F[x0,x1,x2]=-1/2
-1 1/61 0 0 -1/24
-1 02 -1 0
-13 -2
Forma de Newton - Exemplo
Forma de Newton - Exemplo Dados:
A forma de Newton que interpola estes pontos é dada por
x -1 0 1f(x) 1 1 0
2 3-1 -2
)2)(1)(1()24/1( )1)(1()6/1()1()2/1(1)(
)24/1()2)(1)(0)(1( )6/1()1)(0)(1(
)2/1()0)(1(0)1(1)(
xxxxxxxxxxp
xxxxxxx
xxxxp
n
n
Interpolação PolinomialExemplo: Dada a tabela de diferenças divididas abaixo, determine o valor de P2(1,2):
i x y Δyi Δ2yi
0 0,9 3,211
-2,01
0
0,620
1 1,1 2,809
-1,32
82 2,0 1,61
4
Interpolação PolinomialComo n = 2, o polinômio de Newton será:
Calculando:
))(()()( 1002
0002 xxxxyxxyyxP
627,2)2,1()1,12,1)(9,02,1.(620,0
)9,02,1.(010,2211,3)2,1(
2
2
P
P
Interpolação PolinomialInterpolação com diferenças finitas (Gregory Newton):
Este método é um caso especial do método de Newton, quando os valores dos xi estão igualmente espaçados. Neste caso, trabalhamos com um novo operador: O operador de diferença finita ascendente (Δ).
Operador de diferença finita ascendente:
Este operador é mais simples de calcular do que o operador de diferenças divididas, pois leva em conta somente os valores de y:Ordem 0: Δ0yi=yi
Ordem 1: Δyi= Δ0yi+1- Δ0yi
Ordem 2: Δ2yi= Δyi+1- Δyi
⁞ ⁞Ordem n: Δnyi= Δn-1yi+1- Δn-1yi
Interpolação PolinomialA relação entre os operadores de diferença dividida e de diferença finita ascendente é:
ni
n
in
hnyy
!
Fórmula de Gregory Newton:
O polinômio interpolador de Gregory-Newton é encontrado através da seguinte fórmula:
Onde:h é o passo dos valores xi, ou seja h=xi+1-xi
ux é encontrado através da fórmula:
n
i
i
jx
i
n juiyyxP
1
1
0
00 .
!)(
hxxux
0
Exemplo:Dados os pontos abaixo, encontre o valor de P2(115) através do método de Gregory Newton.
i x y0 110 2,04
11 120 2,07
92 130 2,11
4
Usando os dados da tabela, calculamos:h=120-110=10
Calculando a tabela de diferenças finitas:
5,010
1101150115
hxxu
i x y Δyi Δ2yi
0 110 2,041 0,038 -0,0031 120 2,079 0,0352 130 2,114
Aplicando a fórmula de Gregory Newton:
060,2)115(
)15,0.(5,0.2003,05,0.038,0041,2)115(
)1.(.!2
.!1
)(
.!
)(
2
2
0002
1
1
0
00
P
P
uuyuyyxP
juiyyxP
xxx
n
i
i
jx
i
n
Exercícios Teóricos
Use o polinômio Interpolador de Newton e determine uma aproximação para f(0).
1 – Dada a tabela:
Dados:
2 – Considere a seguinte tabela de pontos de uma função y = f (x):
Ordem 0: Δ0yi=yi
Ordem 1: Δyi= Δ0yi+1- Δ0yi
Ordem 2: Δ2yi= Δyi+1- Δyi
⁞ ⁞Ordem n: Δnyi= Δn-1yi+1- Δn-1yi
n
i
i
jx
i
n juiyyxP
1
1
0
00 .
!)(
hxxux
0
Construa a tabela de diferenças finitas, obtenha o polinômio interpolador P3(x) pelo método de Gregory-Newton e estime f(0,72) e f(1,2).Dados:
Exercícios Práticos:
Implemente os dois métodos:Newton e Gregory-Newton