Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 0 0 1 0 1
G = 5 = 5 6 Interpolao
130 1 6 0 0 0 130
6.1 Introduo
A interpolao outra das tcnicas bem antigas e bsicas do clculo numrico. Muitas funes so
1 0 19 19 conhecidas apenas em um conjunto finito e discreto de pontos de um intervalo [a, b], como, por exemplo,
F = 5 = 5
130 1 21 62 a tabela abaixo que relaciona calor especfico da gua e temperatura:
6 15
Xi x0 x1 x2 x3 x4 x5 x6 x7
Logo, 20 25 30 35 40 45 50 55
Temperatura (C)
0 1 19 Calor especfico 0.99907 0.99852 0.99826 0.99818 0.99828 0.99849 0.99878 0.99919
(k )
= 5 ( k 1) + 5
X 0 1
X 62 Tabela 1 - Calor especfico da gua.
30 15
A partir desses dados suponhamos que se queira calcular:
c) Atribuio inicial:
(0) 0 a) o calor especfico da gua a 32.5 C
X = 0 b) a temperatura para a qual o calor especfico 0.99837.
d) Iteraes: A interpolao tem o objetivo de nos ajudar na resoluo deste tipo de problema, ou em casos em
que possumos um conjunto de valores obtidos atravs de alguns experimentos.
(1) 3,800 ( 2) 2,973 ( 3) 3,001 ( 4) 3,000
X = X = X = X = Interpolar uma funo f(x) consiste em aproximar essa funo por uma outra funo g(x),
4,133 3,996 4,000 4,000 escolhida entre uma classe de funes definida a priori e que satisfaa algumas propriedades. A funo
g(x) ento usada em substituio funo f(x).
( 4) ( 3) 0,001
X X = < erro A necessidade de se efetuar esta substituio surge em vrias situaes, como por exemplo:
0,000
a) quando so conhecidos somente os valores numricos da funo por um conjunto de pontos
A soluo deste sistema : (3; -4)T
(no dispondo de sua forma analtica) e necessrio calcular o valor da funo em um ponto no tabelado
(como o caso do exemplo anterior).
Exerccio 1: Dado o sistema abaixo:
b) quando a funo em estudo tem uma expresso tal que operaes como a diferenciao e a
5x y = 13
integrao so difceis (ou mesmo impossveis) de serem realizadas. Neste caso, podemos procurar uma
2x + 4y = 14
outra funo que seja uma aproximao da funo dada e cujo manuseio seja bem mais simples.
obter a soluo por Gaus-Seidel Matricial com 4 decimais com arredondamento e erro menor ou igual a
As funes que substituem as funes dadas podem ser de tipos variados, tais como: polinomiais,
0,005. Admitir soluo inicial nula.
trigonomtricas, exponenciais e logartmicas. Ns iremos considerar apenas o estudo das funes
polinomiais.
A soluo aproximada deste sistema : (3,0004; 1,9998)T
6.1.1 Conceito de Interpolao
Seja a funo y = f(x), dada pela tabela 1. Deseja-se determinar f ( x ) , sendo:
Para resolver (a) tem-se que fazer uma interpolao. E, sendo assim, determina-se o polinmio
interpolador, que uma aproximao da funo tabelada. Por outro lado, para resolver (b), deve-se
realizar uma extrapolao.
Consideremos (n + 1) pontos distintos: x0, x1, x2, ..., xn, chamados ns da interpolao, e os
valores de f(x) nesses pontos: f(x0), f(x1), f(x2), ..., f(xn).
A forma de interpolao de f(x) que veremos a seguir consiste em se obter uma determinada
55 56
funo g(x) tal que: y1).
g(x0) = f(x0) A figura abaixo mostra, geometricamente, os dois pontos, (x0, y0) e (x1, y1), e a reta que passa por
g(x1) = f(x1) eles.
g(x2) = f(x2)
M M
p1(x)
g(xn) = f(xn)
y1
Graficamente temos:
y0
y
g(x)
0 x0 x1
P1(x) = a1x + a0 o polinmio interpolador de 1 grau que passa pelos pontos dados. Ento
0 x0 x 1 x2 x3 x4 x5 x teremos:
Interpretao geomtrica para n = 5 a) Pontos utilizados:
(0.00;1.35) e (1.00; 2.94)
6.2 Interpolao Linear
b) Clculo dos coeficientes:
6.2.1 Obteno da Frmula
P1(0) = a1 0 + a0 = 1.35 a0 = 1.35
Dados dois pontos distintos de uma funo y = f(x) : (x0, y0) e (x1, y1), deseja-se calcular o valor de
P1(1) = a1 1 + a0 = 2.94 a1 = 1.59
y para um determinado valor de x entre x0 e x1, usando a interpolao polinomial.
c) Polinmio interpolador:
O polinmio interpolador uma unidade menor que o nmero de pontos conhecidos. Assim P1(x) = 1.59x + 1.35 (equao da reta que passa pelos pontos dados)
sendo, o polinmio interpolador nesse caso ter grau 1, isto ,
d) Resposta:
P1(x) = a1x + a0 P1(0.73) = 1.59 0.73 + 1.35
P1(0.73) = 2.51
Para determin-lo, os coeficientes a0 e a1 devem ser calculados de forma que tenha:
O resultado obtido acima est afetado por dois tipos de erros:
P1(x0) = f(x0) = y0
P1(x1) = f(x1) = y1 a) Erro de arredondamento (EA) - cometido durante a execuo das operaes e no caso de um
resultado ser arredondado.
ou seja, basta resolver o sistema linear abaixo: b) Erro de truncamento (ET) - cometido quando a frmula de interpolao a ser utilizada
escolhida, pois a aproximao de uma funo conhecida apenas atravs de dois pontos dados feita por
a 1 x 0 + a 0 = y 0 um polinmio de 1 grau.
onde a1 e a0 so as incgnitas e
a1x1 + a 0 = y1
Exerccio 1: Dada a funo f(x) = 10x4 + 2x + 1 com os valores de f(0.1) e f(0.2) determinar P1(0.15) e o
erro absoluto cometido.
x 0 1
A= a matriz dos coeficientes.
x1 1 Polinmio interpolador: P1(x) = 2.15x + 0.986
P1(0.15) = 1.3085
O determinante da matriz A diferente de zero, sempre que x0 x1, logo para pontos distintos o EA = 0.0034375
sistema tem soluo nica.
Exerccio 2: Calcular o calor especfico aproximado da gua a 32,5 C, usando os valores da tabela 1.
O polinmio interpolador P1(x) = a1x + a0 tem como imagem geomtrica uma reta, portanto
estaremos aproximando a funo f(x) por uma reta que passa pelos dois pontos conhecidos (x0, y0) e (x1, Usando as temperaturas 30 C e 35 C.
57 58
Polinmio interpolador: P1(x) = 0.000016x + 0.99874
P1(32.5) = 0.99822 Da primeira linha temos que a0 = 0. Logo, o sistema passa a ser:
Para determinarmos os valores de a2, a1 e a0 necessrio resolver o sistema: Exemplo 2: Determinar o valor de f(0.2) e o erro absoluto ocasionado pela aplicao da interpolao
quadrtica, no clculo deste valor, usando os valores tabelados da funo f(x) = x2 2x + 1. Utilizar duas
a2 x02 + a1x0 + a0 = y0 casas decimais.
a2 x12 + a1x1 + a0 = y1
x f(x)
a2 x 22 + a1x2 + a0 = y2 0.5 0.25
0.3 0.49
onde a2, a1 e a0 so as incgnitas e os pontos (x0, y0), (x1, y1) e (x2, y2) so conhecidos.
0.1 0.81
A matriz dos coeficientes :
a) Pontos utilizados:
2 ( 0.5; 0.25 ) ( 0.3; 0.49 ) ( 0.1; 0.81 )
x x 0 1
0
V = x12 x1 1 b) Clculo dos coeficientes:
x 22 x 2 1 P2(x) = a2x2 + a1x + a0
Como os pontos so distintos, ento o sistema ter soluo nica. 0.25a 2 + 0.5a1 + a 0 = 0.25
0.09a 2 + 0.3a1 + a 0 = 0.49
6.3.2 Exemplos 0.01a 2 + 0.1a1 + a 0 = 0.81
Exemplo 1: Utilizando os valores da funo seno, dados pela tabela abaixo, determinar a funo
2 sen2 x Resolvendo o sistema pelo mtodo de Gauss, vem:
quadrtica que se aproxima de f(x) = , trabalhando com trs casas decimais.
x +1 a2 = 1.00 a1 = 2.00 a0 = 1.00
Pontos utilizados: (20; 0.99907), (30; 0.99826) e (40; 0.99828) Este valor igual ao determinante da matriz:
Polinmio interpolador: P2(x) = 0.00000415x2 0.0002885x + 1.00318
P2(31) = 0.99822 1 1 1 1
1 0 0 0
6.4 Interpolao de Lagrange
As interpolaes vistas anteriormente so casos particulares da interpolao de Lagrange. Vamos 1 3 9 27
estudar agora o polinmio interpolador de grau menor ou igual a n, sendo dados n + 1 pontos distintos. 1 2 4 8
Teorema: Sejam (xi, yi), i = 0, 1, 2, ..., n, n + 1 pontos distintos, isto , xi xj para i j. Existe um 6.4.1 Obteno da Frmula
nico polinmio P(x) de grau menor ou igual a n, tal que P(xi) = yi, para todo i. Ser mostrado, agora, a deduo da frmula de interpolao de Lagrange.
O polinmio P(x) pode ser escrito na forma: Sejam x0, x1, x2, ..., xn, (n + 1) pontos distintos e yi = f(xi), i = 0, 1, ..., n.
n
Seja Pn(x) o polinmio de grau n que interpola f em x0, ..., xn. Podemos representar Pn(x) na
Pn(x) = a0 + a1x + a2x2 + ... + anxn a x
i
ou Pn(x) =
i =0
i forma Pn(x) = y0L0(x) + y1L1(x) + ... + ynLn(x), onde os polinmios Lk(x) so de grau n. Para cada i,
queremos que a condio Pn(xi) = yi seja satisfeita, ou seja:
P(x) , no mximo, de grau n, se an 0 e, para determin-lo, deve-se conhecer os valores de a0, a1,
..., an. Como Pn(x) contm os pontos (xi, yi), i = 0, 1, ..., n, pode-se escrever que Pn(xi) = yi. Pn(xi) = y0L0(xi) + y1L1(xi) + ... + ynLn(xi) = yi
Com isso temos: A forma mais simples de se satisfazer esta condio impor:
a + a x + a x 2 +...+ a x n = y 0 se k i
Lk(xi) = e, para isso, definimos Lk(x) por
0 1 0 2
2
0 n
n
0 0
1 se k = i
a0 + a1 x1 + a2 x1 +...+ a n x1 = y1
................................................ ( x x 0)( x x1)...( x xk 1)( x xk + 1)...( x xn )
+ 2 n Lk =
+ +...+ a n x n = y ( xk x 0)( xk x1)...( xk xk 1)( xk xk + 1)...( xk xn)
a0 a1 x n a2 x n n
Resolvendo o sistema acima, determina-se o polinmio Pn(x). Para provar que tal polinmio Como o numerador de Lk(x) um produto de n fatores da forma:
nico, basta que se mostre que o determinante da matriz A, dos coeficientes das incgnitas do sistema,
diferente de zero. A matriz A : (x xi), i = 0, 1, ..., n, i k, ento Lk(x) um polinmio de grau n e, assim, Pn(x) um polinmio
de grau menor ou igual a n.
1 x x 2 ... x n
0 0
2
0
n
Alm disso, para x = xi, i = 0, ..., n temos:
1 x1 x1 ... x1
A=
............................ n
2
1 x n x n ... x n
n Pn(xi) = y
k =0
k Lk ( x i ) = yiLi(xi) = yi
Mas o determinante da matriz A conhecido como determinante das potncias ou de Ento, a interpolao de Lagrange para o polinmio interpolador :
Vandermonde e, da lgebra Linear, sabe-se que seu valor dado por:
n
Pn(x) = y Lk ( x )
( x x ) . Como xi xj para i j, vem que det(A) 0.
k
det(A) = i j
k =0
i> j
n
( x xj )
Logo, P(x) nico. onde Lk(x) = (x
j =0 k xj )
j k
Exemplo: Sejam os valores: x0 = 1, x1 = 0, x2 = 3 e x3 = 2. Determinar: (x x ) .
i> j
i j
(x x )
i> j
i j = (x1 x0) (x2 x0) (x2 x1) (x3 x0) (x3 x1) (x3 x2) =
61 62
6.5 Interpolao Parablica Progressiva
n
n
( x xj ) Na interpolao parablica progressiva precisamos de n + 1 pontos, onde n o grau do polinmio
Pn(x) = y (x
k
j =0 k xj )
, a frmula da interpolao lagrangeana. desejado. Em seguida, tomamos os pontos mais prximos, do ponto que queremos, na hora de montar a
k =0
tabela.
jk
( x x1)
L0(x) = Polinmio grau 0 Polinmio grau 1
( x 0 x1) G1 +
( x x 0) passando por x 0
L1(x) = CTE
( x1 x 0 )
P1(x) = a0 + a1.(x x0)
( x x1) ( x x 0)
Assim, P1(x) = y0 + y1
( x 0 x1) ( x1 x 0 ) Polinmio de grau 2:
que exatamente a equao da reta que passa por (x0, f(x0)) e (x1, f(x1)).
Polinmio grau 0 Polinmio grau 1 Polinmio grau 2
G2 +
+
c) Polinmio interpolador: passando por x 0 passando por x e por x
( x 1) ( x 0) CTE
0 1
P1(x) = 1.35 + 2.94 = 1.35x + 1.35 + 2.94x = 1.59x + 1.35
(0 1) (1 0)
que a mesma expresso obtida no exemplo 1 de interpolao linear. P2(x) = a0 + a1.(x x0) + a2.(x x0).(x x1)
Exerccio 1: Determinar o polinmio de interpolao de Lagrange para a funo conhecida pelos pontos M
tabelados abaixo e o resultado em P(0.5):
Polinmio de grau n:
i xi yi
0 0 0 Pn(x) = a0 + a1.(x x0) + a2.(x x0).(x x1) + ... + an.(x x0).(x x1).(x x2) ... (x xn-1)
1 1 1
2 2 4
Impondo que Pn(x) passe por todos os n + 1 pontos da tabela, temos que:
Resposta: P2(0.5) = (0.5)2 = 0.25
Pn(x0) = f(x0)
Exerccio 2: Determinar o polinmio interpolador de Lagrange para a funo conhecida pelos pontos da Pn(x1) = f(x1)
tabela abaixo:
Pn(x2) = f(x2)
M
i xi yi Pn(xn) = f(xn)
0 1 4
1 0 1 Validade:
2 2 1
3 3 16 x = x0 P0 ( x0) = a0 = f (x ) 0
P3(x) = x3 4x + 1
f (x ) a f (x ) P (x )
Resposta:
x = x P (x ) = a + a (x x ) = f (x ) a 1 0 1 0 1
1 1 1 0 1 1 0 1
= a 1
=
1
x x
1 0 x x1 0
63 64
Dizemos que f[x0,x1,x2,...xk] a diferena dividida de ordem k da funo f(x) sobre os k + 1 pontos.
f (x ) P (x )
x = x P ( x ) = a + a ( x x ) + a ( x x )( x x ) = f ( x ) a
1 2
2
= 2 Conhecidos os valores que f(x) assume nos pontos distintos x0, x1, x2, ... xn, podemos construir a
2 2 0 1 2 0 2 2 0 2 1 2
2 ( x x )( x x )
2 0 2 1 tabela:
x = x P ( x ) = 8
0 0 Exemplo:
f [ x1 ] f [ x0 ] f [ x0 ] f [ x1 ]
2 Hiptese: f[x0,x1] = = = f[x1,x0]
x1 x0 x 0 x1
f ( x ) P ( x ) = 4 + 8 = 20 1
x = x a 1 1
= 1
P1 ( x ) = 8 + 2( x + 5) = 2 x + 2 Pode-se provar que cada coeficiente an do polinmio interpolador de Newton corresponde ao
x x 1
3 + 5 0
operador de grau n de diferenas divididas:
3 Hiptese:
f[x0] = a0
f (x ) P (x ) 44 1 2 f[x0,x1] = a1
x = x a = ( )( ) = (1 + 5)(1 + 3) = 0
2 2
2
P2 ( x ) = 2 x + 2 f[x0,x1,x2] = a2
x x x x 2 0 2 1
M
4 Hiptese: f[x0,x1,x2,...,xn] = an
f (x ) P (x ) 2 3 66 Pn(x) = a0 + a1.(x x0) + a2.(x x0).(x x1) + ... + an.(x x0).(x x1).(x x2) ... (x xn-1)
x = x a 3 3
= 3
( x 3 x0)( x 3 x1)( x 3 x 2)
=
( 2 + 5)( 2 + 3)( 2 1)
= 0 P3 ( x ) = 2 x + 2
Exemplo 2: Obter f(40) usando um polinmio interpolador de Newton de grau 3 (4 pontos). Considere a 6.7 Interpolao de Gregory-Newton
seguinte tabela: Muitas vezes so encontrados problemas de interpolao cuja tabela de pontos conhecidos tem
valores que so igualmente espaados, ou seja:
xi 30 35 45 50 55
F(xi) 0.5 0.574 0.707 0.766 0.819 x1 x0 = x2 x1 = x3 x2 = ... = xn xn-1 = h
67 68
Assim xi+1 xi = h , para todo i, sendo h uma constante.
xi 1 0 1 2 3
xi = xi-1 + h xi = x0 + i * h f(xi) 2 1 2 5 10
f ( x0 ) 2 f ( x0 ) n f ( x0 )
Pn(x) = f(x0) + .(x x0) + 2
.(x x0).(x x1) + ... + .(x x0).(x x1).(x
h 2h n!h n
x2)...(x xn-1)
6.7.4 Exemplos
Exemplo 1: Obter f(0.5) usando um polinmio interpolador de Gregory-Newton (G-N) do segundo grau
(3 pontos). Considere a seguinte tabela: