unesp
CAMPUS DE GUARATINGUETÁ
Computação e Cálculo Numérico: Elementos de Cálculo Numérico
Prof. G.J. de Sena - Depto. de Matemática – Rev. 2005
CAPÍTULO 4
INTERPOLAÇÃO
4.1 INTRODUÇÃO
Considere a seguinte tabela relacionando calor específico da água(c) e temperatura (T):
T (oC)
25
30
35
40
c
0.99852
0.99826
0.99818
0.99828
Suponha se queira determinar:
(i) c para T = 32.5 oC;
(ii) T para c = 0.99825.
Este tipo de problema pode ser resolvido com a ajuda da interpolação. Interpolar uma
função f(x) consiste em "substituir" esta função por outra função, g(x), que é uma
aproximação da função dada.
Há a necessidade de se efetuar uma interpolação em várias situações, como por exemplo:
(a) Quando a função é conhecida apenas em um conjunto finito e discreto de pontos,
não se dispondo de sua forma analítica;
(b) Quando a forma analítica da função é tal que operações como a diferenciação e a
integração são difíceis (ou mesmo impossíveis) de serem realizadas.
4.2 PROBLEMA GERAL DE INTERPOLAÇÃO
Sejam x0, x1,..., xn (n+1) pontos distintos, chamados pontos de interpolação e sejam
f(x0), f(x1), ..., f(xn) os valores de f(x) nesses pontos.
Objetiva-se obter uma função de interpolação g(x) para a função f(x), a partir dos pontos
de interpolação, com a condição de que os valores numéricos de f e g sejam coincidentes
nesses pontos de interpolação, ou seja:
g(x0) = f(x0)
g(x1) = f(x1)
……
g(xn) = f(xn)
73
Graficamente:
Observe-se que:
(a) a função g(x) pode pertencer à classe das funções exponenciais, logarítmicas,
trigonométricas ou polinomiais;
(b) para o caso da interpolação polinomial, há as formas dadas, por exemplo, pela
fórmula de Taylor e pelos polinômios de Hermite, em que as condições de
interpolação são outras
4.3 INTERPOLAÇÃO POLINOMIAL
4.3.1 EXISTÊNCIA E UNICIDADE DO POLINÔMIO INTERPOLADOR
Dados os pontos (x 0 , f (x 0 )), (x 1 , f (x 1 )),..., (x n , f (x n )) , portanto (n + 1) pontos, queremos
aproximar f ( x ) por um polinômio de grau ≤ n, Pn ( x ) , tal que:
f ( x k ) = Pn ( x k ) k = 0,1,2,..., n
Dado que Pn ( x ) é da forma
a 0 + a 1 x + a 2 x 2 + ... + a n x n
obter Pn ( x ) significa obter os coeficientes
a 0 , a1 , a 2 , ... , a n
Da condição Pn ( x k ) = f ( x k ) , obtém-se o sistema linear:
74
a0 + a1x0 + a2 x02 +L+ an x0n = f ( x0 )

a0 + a1x1 + a2 x12 +L+ an x1n = f ( x1 )
Sn +1 
M
M
M
M
M

2
n
a0 + a1xn + a2 xn +L+ an xn = f ( xn )
com n+1 equações e n+1 variáveis: a 0 , a1 ,L , a n .
A matriz A dos coeficientes:
1 x0

1 x1
A=
M M

1 xn
x02 L x0n 

x12 L x1n 
M
M

xn2 L xnn 
é uma matriz de Vandermonde. Portanto, desde que x0, x1, ..., xn sejam pontos
distintos, tem-se que det A ≠ 0 e que o sistema admite solução única.
Concluindo: se x k ≠ x j , j ≠ k , então existe um único polinômio Pn(x), de grau ≤ n, tal
que Pn ( x k ) = f ( x k ), k = 0,1,2, ... , n .
Exemplo:
Obter um polinômio de grau ≤ 2 que interpole os pontos da tabela
x
1.0
1.1
1.2
f(x)
2.718
3.004
3.320
Determinar o valor aproximado de f(1.05)
Solução:
Forma do polinômio:
P2 ( x) = a o + a1x + a 2 x2
Condição de interpolação:
P2 ( x k ) = f ( x k )
k = 0,1,2
∴ P2 ( x 0 ) = P2 (10
. ) = a 0 + a 1 + a 2 = f ( x 0 ) = f (10
. ) = 2.718
P2 ( x 1 ) = P2 (11
. ) = a 0 + a 1 (11
. ) + a 2 (11
. ) 2 = f (11
. ) = 3.004
P2 ( x 2 ) = P2 (12
. ) = a 0 + a 1 (12
. ) + a 2 (12
. ) 2 = f (12
. ) = 3.320
Os coeficientes ao, a1 e a2 são obtidos, portanto, da solução do sistema:
75
a 0 + a 1 + a 2 = 2.718

S 3 : a 0 + 1.1a 1 + 1.21a 2 = 3.004
a + 1.2a + 1.44a = 3.320
1
2
 0
Usando o dispositivo prático para o método de eliminação de Gauss, obtém-se:
a0
a1
a2
1
1
1
1
1.1
1.2
0.1
0.2
1
1.21
1.44
0.21
0.44
2.718
3.004
3.320
0.286
0.602
0.002
0.003
a2 =
0.003
= 15
.
0.002
0.286 − (0.21)(1.5)
= −0.29
0.1
a0 = 2.718 - 1.5 + 0.29 = 1.508
a1 =
∴ P2 ( x ) = 1.508 − 0.29 x + 1.5x 2
f (1.05) ≅ P2 (1.05) = 1.508 − (0.29)(1.05) + (1.5)(1.05) 2 = 2.857
Obs.: sabendo-se que f(x) = ex, tem-se que f (1.05) = e1.05 = 2.8576511
A matriz A dos coeficientes pode ser, no caso geral, mal condicionada. Portanto, não será
sempre conveniente obter o polinômio de interpolação da forma indicada no exemplo.
4.3.2 OBTENÇÃO DE Pn(x) - 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, ..., xn. Supor que Pn(x) é da forma:
Pn ( x) = y 0 L0 ( x) + y1 L1 ( x) + ... + y n Ln ( x)
onde cada Lk ( x), (k = 0,1,2,..., n) , é um polinômio de grau ≤ n.
Da condição de interpolação:
Pn(xi) = yi
vem que y 0 L0 ( xi ) + y1 L1 ( xi ) + ... + y n Ln ( xi ) = yi
Esta condição será satisfeita se se impuser:
76
1, se k = i
Lk ( xi ) = 
0, se k ≠ i
o que é obtido com a seguinte definição de Lk(x):
Lk ( x) =
( x − x0 )( x − x1 )...( x − x k −1 )( x − xk +1 )...( x − x n )
( x k − x0 )( xk − x1 )...( xk − x k −1 )( xk − xk +1 )...( xk − xn )
pois:
Lk ( xk ) = 1e
Lk ( xi ) = 0 se i ≠ k
Como Lk(x) tem n fatores da forma (x - xi), Lk(x) é um polinômio de grau n. Assim, Pn(x)
é um polinômio de grau ≤ n.
Esta é a forma de Lagrange para o polinômio interpolador:
n
Pn( x) = ∑ y k Lk ( x)
k =0
onde
n
π ( x − xi )
Lk ( x) =
i =0
i ≠k
n
π ( x k − xi )
i =0
i ≠k
Exemplo:
Considere a função f(x) dada na forma tabelar a seguir. Use a forma de Lagrange para
obter:
(a) o valor aproximado para f(1.05), considerando todos os pontos da tabela;
(b) o polinômio de interpolação de grau ≤ 2, da forma P2 ( x) = a o + a1 x + a 2 x 2 , que
interpole todos os pontos da tabela.
x
1.0
1.1
1.2
f(x)
2.718
3.004
3.320
Resolução:
(a)
P2 ( x) = y 0 L0 ( x) + y1 L1 ( x) + y 2 L2 ( x)
(1)
77
L0 ( x) =
( x − x1 )( x − x2 )
( x − 1.1)( x − 1.2)
=
( x0 − x1 )( x0 − x2 ) (1.0 − 1.1)(1.0 − 1.2)
(2)
L1 ( x) =
( x − x0 )( x − x2 )
( x − 1)( x − 1.2)
=
( x1 − x0 )( x1 − x2 ) (1.1 − 1)(1.1 − 1.2)
(3)
L2 ( x) =
( x − x0 )( x − x1 )
( x − 1)( x − 1.1)
=
( x2 − x0 )( x2 − x1 ) (1.2 − 1)(1.2 − 1.1)
(4)
Substituindo-se x=1.05 nas expressões (2), (3) e (4), obtém-se:
L0 (1.05) =
(1.05 − 1.1)(1.05 − 1.2)
= 0.375
(1.0 − 1.1)(1.0 − 1.2)
L1 (1.05) =
(1.05 − 1)(1.05 − 1.2)
= 0.75
(1.1 − 1)(1.1 − 1.2)
L2 (1.05) =
(1.05 − 1)(1.05 − 1.1)
= −0.125
(1.2 − 1)(1.2 − 1.1)
Substituindo-se estes valores na equação (1):
f (1.05) ≅ P2 (1.05) = 2.718 × 0.375 + 3.004 × 0.75 + 3.320 × (−0.125) = 2.857
(b) Para obter o polinômio na forma solicitada, é preciso desenvolver as expressões (2), (3)
e (4) acima, como indicado a seguir:
L0 ( x) =
( x − 1.1)( x − 1.2)
x 2 − 2.3x + 1.32
=
= 50 x 2 − 115 x + 66
(1.0 − 1.1)(1.0 − 1.2)
0.02
(5)
L1 ( x) =
( x − 1)( x − 1.2)
x 2 − 2.2 x + 1.2
=
= −100 x 2 + 220 x − 120
(1.1 − 1)(1.1 − 1.2)
− 0.01
(6)
L2 ( x) =
( x − 1)( x − 1.1)
x 2 − 2.1x + 1.1
=
= 50 x 2 − 105 x + 55
(1.2 − 1)(1.2 − 1.1)
0.02
(7)
Substituindo (5), (6) e (7) em (1), e efetuando-se a redução dos termos semelhantes,
obtém-se:
∴ P2 ( x) = 2.718(50 x 2 − 115 x + 66) +3.004(−100 x 2 + 220 x − 120) +3.320(50 x 2 − 105 x + 55)
⇒ P2 ( x) = 1.5 x 2 − 0.29 x + 1.508
Observação:
P2 (1.0) = (1.5)(1) 2 − (0.29)(1) + 1.508 = 2.718
P2 (1.1) = (1.5)(1.1) 2 − (0.29)(1.1) + 1.508 = 3.004
P2 (1.2) = (1.5)(1.2) 2 − (0.29)(1.2) + 1.508 = 3.320
(pois a função e o polinômio de interpolação devem coincidir nos pontos tabelados).
78
Exemplo:
Seja a função f(x) conhecida apenas nos pontos tabelados:
x
0
0.1
0.3
0.6
1
f(x)
1
2.001
4.081
8.296
21
Determinar o valor aproximado para f(0.2) aplicando-se a fórmula de Lagrange, para as
formas de interpolação (a) linear e (b) quadrática.
Resolução:
(a) Interpolação linear ( P1 ( x) )
Deve-se considerar um intervalo com dois pontos, contendo a abscissa de interesse (0.2),
ou seja:
0.1
0.3
2.001
4.081
Forma de P1 ( x) :
P1 ( x) = y0 L0 ( x) + y1L1 ( x)
onde:
( x − x1 )
( x − 0.3)
L0 ( x) =
=
( x0 − x1 ) (0.1 − 0.3)
( x − x0 )
( x − 0.1)
L1 ( x) =
=
( x1 − x0 ) (0.3 − 0.1)
Substituindo-se x=0.2, obtêm-se os valores L0 (0.2) = 0.5 e L1 (0.2) = 0.5. Substituindo-se
estes valores na expressão de P1 ( x) obtém-se:
P1 (0.2) = 2.001 × 0.5 + 4.081 × 0.5 = 3.041
∴ f (0.2) ≅ 3.041
(b) Interpolação quadrática ( P2 ( x) )
Deve-se considerar um intervalo com três pontos, contendo a abscissa de interesse (0.2). O
intervalo escolhido deve ser tal que o ponto de interesse se situe o mais internamente
possível à ele (ou seja, o mais distante possível de qualquer das extremidades). Um
possível conjunto de pontos seria:
0
0.1
0.3
1
2.001
4.081
Também poderiam ser utilizados os pontos:
0.1
0.3
0.6
2.001
4.081
8.296
Utilizaremos o primeiro intervalo neste exemplo.
Forma de P2 ( x ) :
P2 ( x) = y 0 L0 ( x) + y1 L1 ( x) + y 2 L2 ( x)
79
onde:
( x − x1 )( x − x 2 )
( x − 0.1)( x − 0.3)
=
( x0 − x1 )( x0 − x 2 ) (0 − 0.1)(0 − 0.3)
( x − x0 )( x − x 2 )
( x − 0)( x − 0.3)
L1 ( x) =
=
( x1 − x0 )( x1 − x 2 ) (0.1 − 0)(0.1 − 0.3)
( x − x 0 )( x − x1 )
( x − 0)( x − 0.1)
L2 ( x ) =
=
( x 2 − x 0 )( x 2 − x1 ) (0.3 − 0)(0.3 − 0.1)
L0 ( x) =
Substituindo-se x=0.2, obtêm-se os valores: L0 (0.2) = -0.333, L1 (0.2) = 1
L2 (0.2) = 0.333. Substituindo-se estes valores na expressão de P2 ( x ) , obtém-se:
P2 (0.2) = 1 × (−0.333) + 2.001 × 1 + 4.081 × 0.333 = 3.027
e
∴ f (0.2) ≅ 3.027
Exercício:
Resolver o item(b) do exercício anterior considerando o segundo conjunto de pontos
possível.
Exemplo: (Interpolação Linear)
(a) obter a forma de Lagrange para o polinômio P1 (x) que interpole os pontos (x0,f(x0)) e
(x1,f(x1)).
(b) obter a equação da reta que passa por (x0,f(x0)) e (x1,f(x1)).
Resolução:
(a)
P1 ( x) = y 0 L 0 ( x) + y 1 L 1 ( x)
L 0 ( x) =
(x − x 1 )
(x 0 − x1 )
L 1 ( x) =
(x − x 0 )
(x1 − x 0 )
∴ P1 ( x) = y 0
x
x0
x1
f(x)
f(x0)
f(x1)
(x − x1 )
(x − x 0 )
( x 1 − x)
(x − x 0 ) (y1 − y 0 )
(y x − y1x 0 )
+ y1
= y0
+ y1
=
x+ 0 1
(x 0 − x1 )
(x1 − x 0 )
(x1 − x 0 )
(x1 − x 0 ) (x1 − x 0 )
(x1 − x 0 )
1424
3
1424
3
a
(b)
80
b
tgα =
y1 − y 0 P1 ( x) − y 0
=
x1 − x0
x − x0
⇒ P1 ( x) =
( y1 − y 0 )
( x − x0 ) + y 0
( x1 − x0 )
⇒ P1 ( x) =
( y1 − y 0 )
( y − y1 ) x0 + ( x1 − x0 ) y 0
x+ 0
( x1 − x0 )
( x1 − x0 )
⇒ P1 ( x) =
( y1 − y0 )
(y x − y x )
x+ 0 1 1 0
( x1 − x0 )
( x1 − x0 )
1
424
3
1
424
3
a
b
Exercício:
Seja a função f(x) conhecida apenas nos pontos tabelados:
x
0
0.2
0.4
0.5
f(x)
0
2.008
4.064
5.125
Determinar o valor aproximado para f(0.3) aplicando-se a fórmula de Lagrange, . para as
formas de interpolação (a) linear e (b) quadrática.
Exercício:
Usar a forma de Lagrange para obter um polinômio de grau ≤ 3 que interpole os pontos
da tabela:
x
0
1
3
4
f(x)
-5
1
25
55
Calcular P3 (0), P3 (1), P3 (3)e P3 (4) , utilizando Briot-Ruffini.
Resp.: P3 ( x) = x 3 − 2 x 2 + 7 x − 5
4.3.3 OBTENÇÃO DE Pn(x) - FORMA DE GREGORY - NEWTON PARA O
POLINÔMIO INTERPOLADOR
4.3.3.1 TABELA DE DIFERENÇAS FINITAS
Definição:
Sejam x0 , x1 ,..., x n pontos que se sucedem com passo h, isto é, x n = x0 + jh .
81
Define-se o operador de diferenças finitas como segue:
∆0 f ( x) = f ( x)
∆f ( x ) = f ( x + h ) − f ( x )
∆2 f ( x) = ∆f ( x + h) − ∆f ( x)
M
∆n f ( x) = ∆n −1 f ( x + h) − ∆n −1 f ( x)
Conhecidos os valores de f(x) em x0 , x1 ,..., x n , constrói-se a seguinte tabela de diferenças
finitas:
x
f(x)
x0
f(x0)
∆2f(x)
∆f(x)
∆f(x0)
x1
∆2f(x0)
f(x1)
...
∆f(x1)
x2
∆2f(x1)
f(x2)
∆f(x2)
x3
f(x3)
M
M
M
M
Exemplo:
Seja f(x) dada na forma tabular:
x
-1
0
1
2
3
f(x)
2
1
2
5
10
A tabela de diferenças finitas para esta função é mostrada a seguir:
x
f(x)
-1
2
0
1
∆f(x)
∆2f(x)
∆3f(x)
-1
2
1
1
2
0
2
3
2
5
2
5
3
0
10
82
4.3.2 O POLINÔMIO DE INTERPOLAÇÃO
Estabelece-se a seguinte forma para o polinômio de interpolação (forma de GregoryNewton):
∆f ( x0 )
∆2 f ( x0 )
∆n f ( x0 )
Pn ( x) = f ( x0 ) + ( x − x0 )
+ ( x − x0 )(x − x1 )
+
...
+
(
x
−
x
)(
x
−
x
)...(
x
−
x
)
0
1
n−1
h
2h 2
h n .n!
Observar que os pontos de interpolação devem ser igualmente espaçados, com um passo h,
ou seja:
x1 = x0 + h
x n = x n −1 + h
x 2 = x1 + h
...
ou, equivalentemente, x j = x0 + jh, j = 0,1,..., n .
Exemplo:
Dada a função y=f(x), conhecida pelos pontos da tabela abaixo, pede-se obter uma
aproximação para f(0.25) empregando a fórmula de Gregory-Newton, para as formas de
interpolação (a) linear, e (b) quadrática.
x
0.10
0.20
0.30
0.40
0.50
f(x)
0.125
0.064
0.027
0.008
0.001
Resolução:
(a) Interpolação Linear ( P1 ( x) ):
Constrói-se P1 ( x) o polinômio interpolador de f(x) no intervalo:
0.20
0.30
0.064
0.027
Tabela de diferenças finitas:
x
f(x)
xo = 0.20
∆f(x)
0.064
-0.037
0.30
0.027
Forma de P1 ( x) :
∆f ( x0 )
h
Substituindo os valores da tabela, obtém-se:
P1 ( x) = f ( x0 ) + ( x − x0 )
P1 ( x) = 0.064 + ( x − 0.2)
(−0.037)
0.1
Substituindo-se x=0.25, obtém-se:
P1 (0.25) = 0.046
∴ f (0.25) ≅ 0.046
(b) Interpolação Quadrática ( P2 ( x ) ):
83
Constrói-se P2 ( x ) , o polinômio interpolador de f(x) no intervalo:
0.10
0.20
0.30
0.125
0.064
0.027
Tabela de diferenças finitas:
x
f(x)
∆f(x)
∆2f(x)
xo = 0.10 0.125
-0.061
0.024
0.20 0.064
-0.037
0.30 0.027
Forma de P2 ( x )
P2 ( x) = f ( x0 ) + ( x − x0 )
∆f ( x0 )
∆2 f ( x0 )
+ ( x − x0 )(x − x1 )
h
2h 2
Substituindo-se os valores da tabela, obtém-se:
P2 ( x) = 0.125 + ( x − 0.1)
(−0.061)
0.024
+ ( x − 0.1)(x − 0.2)
0.1
2 × (0.1) 2
Substituindo-se x=0.25, obtém-se:
P2 (0.25) = 0.043
∴ f (0.25) ≅ 0.043
Observe-se que neste caso não foi preciso construir a tabela de diferenças finitas para todos
os pontos da tabela de dados. Abaixo é mostrada a tabela de diferenças finitas completa:
x
f(x)
∆2f(x)
∆f(x)
∆3f(x)
∆4f(x)
xo = 0.10 0.125
-0.061
0.20 0.064
0.024
-0.037
-0.006
0.30 0.027
0.018
-0.019
0.000
-0.006
0.40 0.008
0.012
-0.007
0.50 0.001
Observe-se que, como o número de pontos na tabela de dados é cinco, a tabela de
diferenças finitas permite calcular até a diferença de ordem quatro, que é o grau máximo
que um polinômio de interpolação pode ter para este número de pontos. No entanto, o
84
valor desta última diferença na tabela acima é nulo, isto significando que o grau do
polinômio de interpolação, ao se considerar todos os pontos da tabela, será igual a três e
não a quatro.
Exemplo:
Obter, usando a forma de Gregory-Newton, o polinômio
P2 ( x) = a o + a1 x + a 2 x 2 , que interpola f(x) nos pontos dados abaixo:
x
1.0
1.1
1.2
f(x)
2.718
3.004
3.320
P2 ( x)
da forma
Resolução:
(a) Construção da tabela das diferenças finitas
x
f(x)
xo = 1.0
2.718
∆2f(x)
∆f(x)
0.286
1.1
0.03
3.004
0.316
1.2
3.320
(b) obtenção de P2(x):
∆f ( x0 )
∆2 f ( x0 )
+ ( x − x0 )( x − x1 )
h
2h 2
0.286
0.03
∴ P2 ( x) = 2.718 + ( x − 1)
+ ( x − 1)( x − 1.1)
0.1
(0.1) 2 .2
P2 ( x) = f ( x0 ) + ( x − x0 )
⇒ P2 ( x) = 1.5 x 2 − 0.29 x + 1.508
Exercício: dada a função y = f(x), conhecida pelos pontos da tabela abaixo, calcular uma
aproximação para f(3.7), empregrando a fórmula de Gregory-Newton.
x
1
2
3
4
Obs.:
f(x)
0
0.6931
1.0986
1.3863
f(x) = ln x
Exercício: obter, usando a fórmula de Gregory-Newton, uma aproximação para f(0.7),
onde f é uma função conhecida apenas nos pontos tabelados a seguir:
85
x
0
0.5
1
1.5
2.0
f(x)
0.0
1.1487
2.7183
4.9811
8.3890
4.3.4 OBTENÇÃO DE Pn(x) - FORMA DE NEWTON COM DIFERENÇAS
DIVIDIDAS
4.3.4.1 TABELA DE DIFERENÇAS DIVIDIDAS
Definição:
Seja f(x) uma função tabelada em x 0 , x 1 ,K, x n , (n + 1) pontos distintos. Define-se o
operador de diferenças divididas como segue:
f [x 0 ] = f ( x 0 )
f [x1 ] − f [x 0 ] f ( x1 ) − f ( x0 )
=
x1 − x 0
x1 − x0
f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] =
x 2 − x0
f [x0 , x1 ] =
f [x0 , x1 , x2 , x3 ] =
f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ]
x3 − x 0
M
f [x0 , x1 , x2 ,K, xn ] =
f [x1 , x2 ,K, xn ] − f [x0 , x1 ,K, xn −1 ]
xn − x0
Define-se f [x0 , x1 ,K, x k ] como sendo a diferença dividida de ordem k da função f(x)
sobre os (k+1) pontos: x0 , x1 ,K, x k
Tabela de diferenças divididas
Conhecidos os valores de f(x) em x0 , x1 ,K , x n , , constrói-se a seguinte tabela de diferenças
divididas.
86
x
ordem 0
x0
f x0
ordem 1
[
[
[ ]
f x 0 , x1 , x 2
[
[
f x 0 , x1 , x 2 , x 3
[
[ ]
f x1 , x 2 , x 3
[
O
]
[
M
[ ]
f x 0 , x1 , x 2 , K , x n
[
f x n−3 , x n−2 , x n−1 , x n
[
M
f x n − 2 , x n −1 , x n
[
]
N
M
f x3
f x n −1 , x n
xn
]
]
M
M
ordem n
]
]
f x2
f x 2 , x3
x3
...
]
f x1
f x1 , x 2
x2
ordem 3
[ ]
f x 0 , x1
x1
ordem 2
]
]
]
[ ]
f xn
Exemplo:
Construir a tabela de diferenças divididas para a função f(x) tabelada a seguir:
x
f(x)
-1
1
0
1
1
0
2
-1
3
-2
Resolução:
x
-1
ordem 0
1
ordem 1
ordem 2
ordem 3
ordem 4
1−1
=0
0 − ( −1)
0
1
−1 − 0
1
=−
1 − ( −1)
2
0 −1
= −1
1− 0
1
0
0 − ( −1 2 ) 1
=
2 − ( −1)
6
−1 − ( −1)
=0
2−0
−1 − 0
= −1
2 −1
2
-1
0−0
=0
3− 0
−1 − ( −1)
=0
3 −1
−2 − ( −1)
= −1
3−2
3
0 −1 6
1
=−
3 − ( −1)
24
-2
87
4.3.4.2 FORMA DE NEWTON PARA O POLINÔMIO INTERPOLADOR
A forma de Newton para o polinômio Pn (x) que interpola f(x) em x 0 , x1 , K , x n , (n+1)
pontos distintos, é a seguinte:
()
Pn x = f ( x ) + ( x − x ) f [ x , x ] + ( x − x )( x − x ) f [ x , x , x ] + K + ( x − x )( x − x ) K ( x − x
) f [ x , x ,..., x ]
0
0
0 1
0
1
0 1 2
0
1
n −1
0 1
n
Exemplo:
Dada a função y = f(x), conhecida pelos pontos da tabela abaixo, obter uma aproximação
para f(0.27), empregando a fórmula de Newton (com diferenças divididas), para as formas
de interpolação (a) linear e (b) quadrática.
x
f(x)
0.10
0.125
0.20
0.064
0.30
0.027
0.40
0.008
0.50
0.001
Resolução:
(a) Interpolação Linear ( P1 ( x ) ):
Obtém-se o polinômio P1 ( x) que interpola f(x) nos pontos do intervalo:
0.20
0.064
0.30
0.027
Tabela de diferenças divididas:
x
ordem 0
0.20
0.064
ordem 1
0.027 − 0.064
= −0.37
0.30 − 0.20
0.30
0.027
Forma de P1 ( x) :
P1 ( x ) = f ( x ) + ( x − x ) f [ x , x ]
0
0
0 1
Substituindo-se os valores da tabela, obtém-se:
P1 (x ) = 0.064 + ( x − 0.2) (-0.37)
Calculando-se em x=0.27, obtém-se:
P1 (0.27 ) = 0.038
∴ f (0.27) ≅ 0.038
(b) Interpolação Quadrática ( P2 ( x) ):
Obtém-se o polinômio P2 ( x) que interpola f(x) nos pontos do intervalo:
0.20
0.064
0.30
0.027
0.40
0.008
Recorde-se que devem ser escolhidos três pontos de forma que (i) contenham a abscissa de
interesse (no caso, x=0.27), e (ii) que este valor se situe o mais “internamente” possível ao
intervalo considerado. Assim , pelo critério (ii), o intervalo a seguir não deve ser usado,
mesmo contendo a abscissa de interesse:
0.10
0.125
0.20
0.064
88
0.30
0.027
Tabela de diferenças divididas:
x
ordem 0
0.20
0.064
ordem 1
ordem 2
0.027 − 0.064
= −0.37
0.30 − 0.20
0.30
0.027
−0.19 − ( −0.37)
= 0.9
0.40 − 0.20
0.008 − 0.027
= −0.19
0.40 − 0.30
0.40
0.008
Forma do polinômio P2 ( x) :
P2 ( x ) = f ( x ) + ( x − x ) f [ x , x ] + ( x − x )( x − x ) f [ x , x , x ]
0
0
0 1
0
1
0 1 2
Substituindo-se os valores da tabela, obtem-se:
P2 ( x ) = 0.064 + ( x − 0.2)( −0.37 ) + ( x − 0.2)( x − 0.3) 0.9
Calculando-se em x=0.27, obtém-se:
∴ f (0.27 ) ≅ 0.036
P2 (0.27 ) = 0.036
Observe-se que, para este exemplo, não foi necessário calcular todos os valores da tabela
de diferenças divididas. A tabela completa é mostrada a seguir. Note-se que a diferença
dividida de ordem 4 é nula. Ou seja, o grau máximo de um polinômio de interpolação para
esta tabela é três.
x
ordem 0
0.10
0.125
ordem 1
ordem 2
ordem 3
ordem 4
-0.61
0.20
0.064
1.2
-0.37
0.30
-1
0.027
0.9
0
-0.19
0.40
-1
0.008
0.6
-0.07
0.50
0.001
Exemplo: obter, usando a forma de Newton, o polinômio
P2 ( x) = a o + a1 x + a 2 x 2 que interpola f (x) nos pontos dados abaixo:
x
f(x)
1.0
2.718
1.1
3.004
Resolução:
89
1.2
3.320
P2 ( x)
da forma
(a) Tabela das diferenças divididas
x
ordem 0
1.0
2.718
ordem 1
3.004 − 2.718
ordem 2
= 2.86
1.1 − 1.0
1.1
3.16 − 2. 86
= 1. 5
1. 2 − 1. 0
3.004
3.320 − 3.004
= 3.16
1.2 − 1.1
1.2
3.320
(b) obtenção de P2 (x):
P2 ( x ) = f ( x0 ) + ( x − x 0 ) f [x 0 , x1 ] + (x − x0 )( x − x1 ) f [x 0 , x1 , x 2 ]
P2 ( x ) = 2.718 + ( x − 1)(2.86 ) + ( x − 1)( x − 1.1)(1.5)
P2 ( x ) = 1.5 x 2 − 0.29 x + 1.508
4.3.4.3 ESTUDO DO ERRO NA INTERPOLAÇÃO
Ao se aproximar uma função f(x) por um polinômio interpolador de grau ≤ n comete-se um
erro, ou seja:
E n ( x ) = f ( x ) − Pn ( x ), ∀x ∈ [x 0 , x n ]
Teorema 1:
Sejam x0 < x1 < x 2 < K < x n , (n + 1) pontos:
Seja f(x) com derivadas até ordem (n + 1), ∀x ∈ [x0 , x n ] .
Seja Pn(x) o polinômio interpolador de f(x) nos pontos x 0 , x1 , K , x n .
Então, ∀x ∈ [x0 , x n ] , tem-se que:
E n (x ) = f (x ) − Pn (x ) = (x − x 0 )(x − x 1 )(x − x 2 )K (x − x n )
f (n +1) (ε x )
(n + 1)!
onde ε x ∈ ( x0 , xn )
Obs.:
A fórmula anterior para En (x) tem uso limitado na prática, dado que são raras as situações
em que conhecemos f
(n +1)
( x) e que o ponto ε x nunca é conhecido.
Teorema 2:
f [x0 , x1 ,K, x n , x ] =
f
(n +1)
(ε x ) , x ∈ (x , x ) e ε ∈ (x , x )
0
n
x
0
n
(n + 1)!
Observação:
Este teorema mostra a relação existente entre a diferença dividida de ordem (n+1) e a
derivada de ordem (n+1).
90
Corolário 1:
Sob as hipóteses do Teorema 1, e se f ( n +1) ( x ) for contínua em I = [x0 , x n ], pode-se
escrever a seguinte relação:
M n +1
E n (x ) = f ( x ) − Pn ( x ) ≤ (x − x0 )( x − x1 )K ( x − x n )
(n + 1)!
onde M n +1 = máx f ( n+1) ( x )
x∈I
Se a função f (x) é dada na forma de uma tabela, o valor absoluto do erro, E n ( x ) ,
somente pode ser estimado. Se construirmos a tabela de diferenças divididas até ordem
(n+1), podemos usar o maior valor (em módulo) das diferenças divididas de ordem (n+1)
Mn + 1
como uma aproximação para
no intervalo [xo , xn ], ou seja:
(n + 1)!
E n ( x) ≅ ( x − x 0 )( x − x1 )...( x − x n ) × Max n +1
onde:
Max n +1 = Max diferenças divididas de ordem (n + 1)
Exemplo:
No primeiro exemplo do item 4.3.4.2, foram determinadas aproximações para f(0.27) a
partir dos dados da tabela abaixo, utilizando-se as formas de interpolação linear e
quadrática. Pede-se estimar os erros para cada uma destas formas.
x
f(x)
0.10
0.125
0.20
0.064
0.30
0.027
0.40
0.008
0.50
0.001
Resolução:
a) Interpolação Linear
No caso geral, E n ( x) pode ser estimado por:
E n ( x) ≅ ( x − x0 )( x − x1 )K ( x − x n ) × Max n +1
Assim o erro E1 ( x) para interpolação linear pode ser estimado por:
E1 ( x) ≅ ( x − x0 )( x − x1 ) × Max 2
onde: Max 2 = Max diferenças divididas de ordem 2
Recorde-se, do exemplo mencionado acima, que P1 ( x) foi construído sobre os pontos
(0.2,0.064) e (0.3,0.027), e que Max2 = 1.2. Substituindo-se os valores na expressão de
E1 ( x) , obtém-se:
E1 ( x) ≅ ( x − 0.2)( x − 0.3) × 1.2
Calculando-se para x=0.27, obtém-se:
E1 (0.27) ≅ 2.52 × 10 −3
b) Interpolação Quadrática :
91
A partir da expressão para E n ( x) obtém-se a seguinte expressão para a estimação de
E 2 ( x) , que corresponde ao erro para interpolação quadrática:
E 2 ( x) ≅ ( x − x0 )( x − x1 )( x − x 2 ) × Max3
onde: Max3 = Max diferenças divididas de ordem 3
Recorde-se, do exemplo mencionado acima, que P2 ( x) foi construído sobre os pontos
(0.2,0.064), (0.3,0.027) e (0.4,0.008) e que Max3 = 1.0. Substituindo-se os valores na
expressão de E 2 ( x) , obtém-se:
E 2 ( x) ≅ ( x − 0.2)( x − 0.3)( x − 0.4) × 1.0
Calculando-se para x=0.27, obtém-se:
E 2 (0.27) ≅ 2.73 × 10 −4
Exemplo:
Seja f(x) dada na forma tabelar:
x
f(x)
0.2
0.16
0.34
0.22
0.4
0.27
0.52
0.29
0.6
0.32
0.72
0.37
(a) obter uma aproximação para f(0.47) utilizando um polinômio de interpolação de grau 2;
(b) obter uma estimativa para o erro.
Solução:
(a) Tabelas de diferenças divididas:
Para se calcular uma aproximação para f(0.47) utilizando P2 ( x) , seria necessário construir
a tabela de diferenças divididas apenas para os valores do conjunto de dados a seguir:
0.4
0.27
0.52
0.29
0.6
0.32
No entanto, como o problema pede para que seja determinada também uma estimativa do
erro da aproximação, é preciso construir a tabela de diferenças divididas considerando
todos os pontos da tabela de dados e calculando-se até os termos de ordem 3, ou seja:
x
ordem 0
0.2
0.16
0.34
0.22
ordem 1
ordem 2
ordem 3
0.4286
2.0235
0.8333
x0=0.4
0.27
x1=0.52
0.29
x2=0.6
0.32
0.72
0.37
-17.8963
-3.7033
0.1667
1.0415
0.375
-2.6031
0.2085
0.4167
92
18.2492
A partir desta tabela, constrói-se o polinômio P2 ( x) como indicado:
∴ P2 (x ) = f ( x0 ) + ( x − x0 ) f [x0 , x1 ] + ( x − x0 )( x − x1 ) f [x0 , x1 , x2 ] =
0.27 + ( x − 0.4 )(0.1667) + (x − 0.4 )( x − 0.52)(1.0415)
que é utilizado para obter a aproximação solicitada:
∴ f (0.47 ) ≅ P2 (0.47 ) = 0.27(0.47 − 0.4 )(0.1667 ) + (0.47 − 0.4 )(0.47 − 0.52 )(1.0415)
∴ f (0.47 ) ≅ 0.2780
(b) E n (x ) ≅ ( x − x 0 )( x − x1 )K (x − x n ) ⋅ Max n +1
∴ E 2 ( x ) ≅ (x − x 0 )( x − x1 )( x − x 2 ) ⋅ Max3
onde: Max3 = Max diferenças divididas de ordem 3
∴ E 2 (0.47 ) ≅ (0.47 − 0.4 )(0.47 − 0.52 )(0.47 − 0.6 )(18.2492 ) ⇒ E 2 (0.47 ) ≅ 8.303x10 −3
4.3.5 INTERPOLAÇÃO INVERSA
Dada a Tabela:
x
f(x)
x0
f(x0)
x1
f(x1)
x2
f(x2)
xn
f(xn)
…
…
o problema de Interpolação Inversa consiste em, dado y ∈ ( f (xo ), f ( xn )) , obter x uma
aproximação para o valor de x tal que f (x ) = y.
FORMAS DE SE RESOLVER ESTE PROBLEMA
(I) Obter Pn (x ) que interpole f(x) em x 0 , x1 , K , x n , e em seguida encontrar x tal que
Pn (x ) = y .
Exemplo:
Dada a tabela a seguir, encontrar x uma aproximação para x tal que f (x ) = 2.
x
f(x)
0.5
1.65
0.6
1.86
0.7
2.01
0.8
2.23
0.9
2.46
utilizando interpolação quadrática sobre x o = 0.6, x 1 = 0.7, e x 2 = 0.8
Resolução:
Tabela de Diferenças Divididas:
(Construída apenas para os pontos de interesse e até a ordem 2)
93
1.0
2.72
x
ordem 0
0.6
1.86
0.7
2.01
ordem 1
ordem 2
1.5
3.5
2.2
0.8
2.23
Polinômio de Interpolação
∴ P2 ( x ) = f ( x0 ) + ( x − x0 ) f [x0 , x1 ] + ( x − x0 )( x − x1 ) f [x0 , x1 , x2 ]
∴ P2 (x ) = 1.86 + (x - 0.6)1.5 + (x - 0.6)(x - 0.7)(3.5)
∴ P2 ( x ) = 3.5 x 2 − 3.05 x + 2.43
P2 (x ) = 2.0 ⇒ f (x ) ≅ 2
3.5 x 2 − 3.05 x + 2.43 = 2.0 ⇒ 3.5 x 2 − 3.05 x + 0.43 = 0
x = 0.6945 ou x = 0.177
∴ x = 0.6945
(pois x = 0.6945 ∈ (0.6,0.7) )
(II) Interpolação Inversa
Se f(x) for inversível num intervalo contendo y então fazemos a interpolação de
x = f −1 ( y ) = g ( y ) .
Uma condição para que uma função contínua num intervalo [a, b] seja inversível é que seja
monótona crescente (ou decrescente) neste intervalo. Se f(x) é dada na forma tabelar,
supondo que f(x) seja contínua em (x o , x n ), f (x ) será considerada monótona crescente se
f (x o ) < f (x 1 ) < K < f (x n ) e decrescente se f (x o ) > f (x1 ) > K > f (x n ) .
Exemplo:
Dada a tabela a seguir, encontrar x uma aproximação para x tal que f (x ) = 2. Estimar o
erro cometido com esta aproximação.
x
f(x)
0.5
1.65
0.6
1.86
0.7
2.01
0.8
2.23
0.9
2.46
1.0
2.72
(Utilizar interpolação quadrática)
Resolução:
Neste caso, como além da aproximação para x, solicita-se uma estimativa do erro incorrido
com esta aproximação, é preciso construir a tabela de diferenças divididas (i) considerando
todos os pontos da tabela de dados, e (ii) calculando-se os valores das diferenças até a
ordem 3, uma vez que será utilizada interpolação quadrática. Como será utilizada
interpolação inversa, a tabela será construída colocando-se “x como função de y”, como
mostrado a seguir. (O cálculo dos valores das diferenças divididas segue o mesmo esquema
anterior).
94
y
ordem 0
1.65
0.5
y0=1.86
0.6
ordem 1
ordem 2
ordem 3
0.4762
0.5292
0.6667
y1=2.01
0.7
y2=2.23
0.8
2.46
0.9
2.72
1.0
-1.9012
-0.5735
0.4545
0.8828
-0.0438
0.4348
-0.0825
-0.1024
0.3846
A forma do polinômio de interpolação será a mesma anterior, apenas substituindo x por y e
f por g ( = f −1 ), como mostrado a seguir:
P2 ( y ) = g ( yo ) + ( y − yo )g [ yo , y1 ] + ( y − yo )( y − y1 )g [ yo , y1 , y2 ]
∴ P2 ( y ) = 0.6 + ( y − 1.86 )(0.6667 ) + ( y − 1.86)( y − 2.01)(− 0.5735)
∴ P2 (2.00 ) = 0.6 + (2 − 1.86 )(0.6667 ) + (2 − 1.86 )(2 − 2.01)(− 0.5735) = 0.6941
∴ x = 0.6941
Exercício:
Seja a Tabela:
x
f(x)
0.15
0.12
0.20
0.16
0.25
0.19
0.30
0.22
0.35
0.25
0.40
0.27
Usando um polinômio interpolador de grau 2, trabalhe de dois modos diferentes para obter
o valor estimado de x para o qual f(x) = 0.23. Dê uma estimativa do erro cometido em cada
caso, se possível.
Resp.: (I) 0.3166666 (II) 0.3166666;
erro ≅ 1.666664 x10 −3
Exercício:
Construa uma tabela para a função f(x) = cos(x) usando os pontos: 0.8, 0.9, 1.0, 1.1, 1.2,
1.3. Obtenha um polinômio de 3o grau para estimar cos(1.07) Forneça um limitante
superior para o erro ao se calcular cos(1.07) pelo polinômio obtido.
Resp.:
cos(1.07 ) ≅ 0.4801232
E(1.07 ) ≤ 1.2020383x10 − 6
Exercício:
O calor específico da água, como função da temperatura, é dado por:
95
Temperatua, oC
Calor Específico
20
25
30
35
40
45
50
0.99907
0.99852
0.99826
0.99818
0.99828
0.99849
0.99878
(a) use interpolação linear para estimar o calor específico da água a 37oC;
(b) use interpolação quadrática para estimar o calor específico a 37oC;
Obs.: usar o polinômio interpolante de Newton com diferenças divididos, estimar o erro
cometido em cada caso:
4.3.6 INTERPOLAÇÃO LINEAR DUPLA
Seja determinar uma aproximação para f (x c , y c ) , utilizando a teoria de Interpolação.
Supor que xc e yc satisfaçam às restrições:
x j−1 ≤ x c ≤ x j
y i −1 ≤ y c ≤ y i
Graficamente:
r
Inicialmente interpolamos z = f (x j −1 , y ) e obtemos uma expressão para f (x j −1 , y c ) , onde
r
f (x j−1 , y c ) é uma aproximação para f (x j −1 , y c ) . Depois interpolamos z = f (x j , y ) e
obtemos uma expressão para f (x j , y c ). Interpolamos então z = f ( x, y c ) e obtemos então
uma expressão para f ( xc , y c ) . O detalhamento segue:
y c − y i −1
f (x j −1 , y i ) − f (x j −1 , y i −1 )
y i − y i −1
y − y i −1
f (x j , y c ) = f (x j , y i −1 ) + c
f (x j , y i ) − f (x j , y i −1 )
y i − y i −1
[
f (x j −1 , y c ) = f (x j −1 , y i −1 ) +
]
[
]
96
f ( xc , y c ) = f (x j −1 , y c ) +
xc − x j −1
x j − x j −1
[ f (x , y ) − f (x
j
c
j −1
]
, yc )
Notar que as expressões para f (x j −1 , y c ) e f (x j , y c ) são obtidas a partir da interpolação de
z como função de y, mantidos constantes os correspondentes valores de x. Notar também
que a expressão para f (x c , y c ) é obtida a partir da interpolação de z como função de x, em
r
y constante é igual a yc . Observar, por final, que os valores para f (x j −1 , y c ) e f (x j , y c ),
calculados através das duas primeiras expressões, são utilizados no cálculo de f ( xc , y c ) .
Exemplo:
A integral elíptica de primeira espécie é definida como sendo:
dϕ
ϕ
F (Θ, ϕ ) = ∫
0
1 − sen 2 Θ sen 2 ϕ
Mostra-se, a seguir, uma tabela parcial do valor desta função:
50
55
60
65
70
75
80
50
60
70
80
90
0.9401
1.0500
1.1643
1.2833
1.4068
1.5345
1.6660
0.9647
1.0848
1.2125
1.3489
1.4944
1.6492
1.8125
0.9876
1.1186
1.2619
1.4199
1.5959
1.7927
2.0119
1.0044
1.1444
1.3014
1.4810
1.6918
1.9468
2.2653
1.0107
1.1542
1.3170
1.5065
1.7354
2.0276
2.4362
(
)
Seja determinar F 73 o ,77 o , utilizando interpolação linear dupla.
Resolução:
Notação utilizada:
x 1 = 50,
x 2 = 60,
x 3 = 70,
x 4 = 80,
x 5 = 90
y 1 = 50,
y 2 = 55,
y 3 = 60,
y 4 = 65,
y 5 = 70, y 6 = 75, y 7 = 80
Cálculo de uma aproximação para f (73,77 )
97
f (70,75) = 1.7927
f (70,80) = 2.0119
f (80,75) = 1.9468
f (80,80) = 2.2653
77 − 75
(2.0119 − 1.7927 ) = 1.8804
80 − 75
77 − 75
(2.2653 − 1.9468) = 2.0742
(ii) f (80,77 ) = 1.9468 +
80 − 75
73 − 70
(2.0742 − 1.8804) = 1.9385
(iii) f (73,77 ) = 1.8804 +
80 − 70
(i) f (70,77 ) = 1.7927 +
4.3.7 ASPECTOS COMPUTACIONAIS: IMPLEMENTAÇÃO DO MÉTODO DE
NEWTON COM DIFERENÇAS DIVIDIDAS
Esquema para construção da tabela de diferenças divididas:
X
ordem 0
X(0)
D(0,0)
ordem 1
D ( 0,1) =
D (1,0 ) − D ( 0, 0 )
ordem 2
D ( 0, 2 ) =
X (1) − X ( 0 )
X(1)
D(1,0)
D (1,1) =
D ( 2, 0) − D (1, 0)
D (1,1) − D ( 0,1)
D(2,0)
D ( 2,1) =
D ( 3, 0 ) − D ( 2,0 )
D ( 2, 2 ) =
D ( 2,1) − D (1,1)
D ( 3, 2 ) =
D(3,0)
D ( 3,1) =
D ( 4, 0 ) − D ( 3, 0 )
D ( 3,1) − D ( 2,1)
X (4) − X ( 2)
D ( 4, 2 ) =
D ( 4,1) − D (3,1)
X ( 4 ) − X ( 3)
M
M
M
X ( 5) − X ( 3)
M
D( N − 1,2) =
D( N,1) − D( N − 1,1)
X ( N) − X ( N − 1)
X(N-1)
D(N-1,0)
D( N ,1) =
D( N ,0) − D( N − 1,0)
X ( N ) − X ( N − 1)
X(N)
D(N,0)
98
ordem N
D(1, N − 2) − D(0, N − 2)
D(0, N − 1) =
...
D(1, N − 1) − D(0, N − 1)
D(0, N ) =
X ( N − 1) − X (0)
D(2, N − 2) − D(1, N − 2)
D(1, N − 1) =
X ( 3) − X (1)
X ( 3) − X ( 2 )
X(3)
...
X ( 2) − X ( 0)
X ( 2) − X (1)
X(2)
ordem (N-1)
X ( N) − X (1)
X ( N ) − X (0)
Seja M = N + 1, o número de pontos da tabela. Os elementos de D podem ser obtidos, de
uma forma genérica, a partir das expressões:
D ( I ,0) = F ( X ( I )), I = 0, N
D( I , J ) =
D ( I + 1, J − 1) − D ( I , J − 1)
X (I + J ) − X (I )
, J = 1, 2..., N , I = 0,1, 2,..., M − J + 1
O polinômio de interpolação de Newton com diferenças divididas, em uma determinada
abscissa A, é dado por:
P ( A) = D (0,0) + ( A − X ( 0)) D ( 0,1) + ( A − X ( 0))( A − X (1)) D (0, 2) + ...
+ ( A − X (0))( A − X (1))...( X − X ( N − 2)) D (0, N − 1) +
+ ( A − X (0))( A − X (1))...( A − X ( N − 1)) D ( 0, N )
N
 J −1


= ∑  ( A − X ( K ) ) D(0, J )
K =0


J =0 
π
com
−1
π ( A − X (k ) ) = 1
K =0
Segue o algoritmo:
Início ! Método de Newton com Diferenças Divididas
! entrada de dados
Solicite o número de pontos
Leia o número de pontos (M)
Solicite os valores de (X,F(X))
N = M – 1
Para I de 0 até N
Faça
Leia X(I), D(I,0)
Fim Para
! construção da tabela de diferenças divididas
Para J de 1 até N
Faça
Para I de 0 até M-J+1
Faça
D( I , J ) =
D ( I + 1, J − 1) − D ( I , J − 1)
X (I + J ) − X (I )
Fim para
Fim para
! cálculo do valor aproximado
Solicite o valor da abscissa em que se quer aproximar F
Leia o valor da abscissa (A)
F = 0
Para J de 0 até N
Faça
P = 1
Para K de 0 até J-1
Faça
P = P * (A – X(K))
Fim Para
F = F + D(0,J)*P
Fim para
99
(* saída do valor aproximado *)
Escreve ‘Aproximação = ‘, F
Fim ! Método de Newton com Diferenças Divididas
Exercícios:
(1) Considere a função y = f (x) conhecida através dos pontos da tabela:
x
f(x)
0.000
1.000
0.100
0.761
0.300
0.067
0.400
-0.376
Através da forma de Lagrange, determine:
(a) o valor aproximado de f(0.32) usando um polinômio interpolador de 2o grau, ou
seja, calcule P2 (0.32)
(b) P3(0.32)
Sabendo que a função f(x) é x3 - 4x2 - 2x + 1, calcule f(0.32) exatamente.
Obs.: trabalhar com quatro decimais
Resp.: P2 (0.32) = -0.0165 P3(0.32) = -0.0168
(2) A tabela a selguir relaciona o calor específico da água (c) em função da temperatura
(T). Calcular o calor especifico da água a uma temperatura de 25oC interpolando os
pontos da tabela com um polinômio de 3o grau, obtido através:
(a) da fórmula de Lagrange.
(b) da fórmula de Newton com diferenças divididas.
Comparar os resultados obtidos com o valor real 0.99852
T (oC)
20
30
45
55
C
0.99907
0.99826
0.99849
0.99919
Resp.: P3(25) = 0.99854
(3) A tabela a seguir relaciona a velocidade (v) de um foguete lançado do solo com o
tempo (t). Calcule a velocidade aproximada do foguete 25s após o lançamento,
interpolando os pontos da tabela com um polinômio de 4o grau, obtido através da
fórmula de Newton com diferenças divididas.
t (s)
v (m/s)
0
0.000
8
52.032
20
160.450
Resp.: P4(25) = 219.612 m/s
100
30
275.961
45
370.276
(4) A tabela a seguir relaciona a distância (d) percorrida por uma bala ao longo do cano de
um canhão com o tempo (t). Encontrar a distância percorrida pela bala 5 segundos após
ter sido disparada, interpolando os pontos da tabela através de um polinômio de 4o grau
obtido através da fórmula de Gregory-Newton.
t (s)
d (m)
0
0.000
2
0.049
4
0.070
6
0.087
8
0.103
Resp.: P4(5) = 0.078
(5) Considerando a tabela a seguir, onde estão representados alguns pontos da função
f ( x ) = 3 x , determine o valor aproximado de 0.53.
x
f(x)
0.000
0.000
0.008
0.200
0.064
0.400
0.216
0.600
0.512
0.800
Agradecimentos:
Ao Pólo Computacional, em particular à equipe de digitação, cujo apoio foi essencial para a produção do
presente trabalho. Aos colegas do DMA, pelo apoio, críticas e sugestões recebidas.
BIBLIOGRAFIA
1. RUGGIERO, M.A.G. & LOPES, V.L.R. Cálculo Numérico Aspectos Teóricos e Computacionais.
McGraw-Hill, 1988.
2. DORN, W.S. & MAcCRACKEN, D.D. Cálculo Numérico com Estudo de Casos em Fortran IV.
Campus,1978.
3. BARROSO, L.C. & outros. Cálculo Numérico (com aplicações). Editora Harbra Ltda, 1987.
4. SCHEID, F. Análise Numérica. McGraw-Hill, 1991.
5. ALBRECHT, P. Análise Numérica: um curso moderno. Livros Técnicos e Científicos, 1973.
6. PACITTI, T. & ATKINSON, C.P. Programação e Métodos Computacionais (Vol. 2). Livros Técnicos
e Científicos, 1981.
7. CHAPRA, S.C. & CANALE, R.P. Numerical Methods for Engineers (with Personal Computer
Applications). McGraw-Hill, 1987.
101
Download

n - UNESP