Você está na página 1de 27

unesp

CAMPUS DE GUARATINGUET

Computao e Clculo Numrico: Elementos de Clculo Numrico


Prof. G.J. de Sena - Depto. de Matemtica Rev. 2007

CAPTULO 4

INTERPOLAO
4.1 INTRODUO
Considere a seguinte tabela relacionando calor especfico da gua(c) e temperatura (T):
T (oC)

25

30

35

40

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 interpolao. Interpolar uma
funo f(x) consiste em "substituir" esta funo por outra funo, g(x), que uma
aproximao da funo dada.
H a necessidade de se efetuar uma interpolao em vrias situaes, como por exemplo:
(a) quando a funo conhecida apenas em um conjunto finito e discreto de pontos, no se
dispondo de sua forma analtica;
(b) quando a forma analtica da funo tal que operaes como a diferenciao e a
integrao so difceis (ou mesmo impossveis) de serem realizadas.
4.2 PROBLEMA GERAL DE INTERPOLAO
Sejam x0 , x1,

, xn , (n + 1) pontos distintos, chamados pontos de interpolao e sejam


f ( x0 ), f ( x1 ), , f ( xn ) os valores de f (x) nesses pontos.

Objetiva-se obter uma funo de interpolao g(x) para a funo f(x), a partir dos pontos de
interpolao, com a condio de que os valores numricos de f e g sejam coincidentes
nesses pontos de interpolao, ou seja:
g ( x0 ) = f ( x0 ), g ( x1 ) = f ( x1 ),

g ( xn ) = f ( xn )

73

Graficamente:

Obs.:
(a) A funo g(x) pode pertencer classe das funes exponenciais, logartmicas,
trigonomtricas ou polinomiais;
(b) Para o caso da interpolao polinomial, h as formas dadas, por exemplo, pela
frmula de Taylor e pelos polinmios de Hermite, em que as condies de
interpolao so outras.

4.3 INTERPOLAO POLINOMIAL


4.3.1 EXISTNCIA E UNICIDADE DO POLINMIO INTERPOLADOR
Dados os pontos ( x0 , f ( x0 )), ( x1 , f ( x1 )),

, ( xn , f ( xn )) , portanto n + 1 pontos, queremos


aproximar f ( x ) por um polinmio de grau n, Pn ( x ) , tal que:

f ( xk ) = Pn (xk )

k = 0,1,2,..., n

Dado que Pn ( x ) da forma

a0 + a1x + a2 x 2 + ... + an x n
obter Pn ( x ) significa obter os coeficientes
a0 , a1, a2 ,..., an
Da condio Pn ( xk ) = f (xk ) , obtm-se o sistema linear:

74

S n +1

a0 + a1 x0 + a2 x02 +

+ an x0n = f ( x0 )

a0 + a1 x1 + a2 x12 +

+ an x1n = f (x1 )

a0 + a1 xn + a2 xn2 +

+ an xnn = f (xn )

com n+1 equaes e n+1 variveis: a0 , a1 ,

, an .

A matriz A dos coeficientes:

A=

1 x0
1 x1

x02
x12

x0n
x1n

1 xn

xn2

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 soluo nica.
Concluindo: se x k x j , j k , ento existe um nico polinmio Pn (x) , de grau n, tal
que Pn ( x k ) = f ( xk ), k = 0,1,2,..., n .
Exemplo:
Obter um polinmio de grau 2 que interpole os pontos da tabela

1.0

1.1

1.2

f(x)

2.718

3.004

3.320

Determinar o valor aproximado de f(1.05)


Soluo:

Forma do polinmio:
P2 ( x ) = ao + a1 x + a2 x 2

Condio de interpolao:
P2 ( x k ) = f ( x k ) k = 0,1,2

P2 ( x0 ) = P2 (1.0) = a0 + a1 + a2 = f ( x0 ) = f (1.0) = 2.718


P2 ( x1 ) = P2 (1.1) = a0 + a1 (1.1) + a2 (1.1) 2 = f (1.1) = 3.004
P2 ( x2 ) = P2 (1.2) = a0 + a1 (1.2) + a2 (1.2)2 = f (1.2) = 3.320
Os coeficientes ao, a1 e a2 so obtidos, portanto, da soluo do sistema:

75

a 0 + a 1 + a 2 = 2.718
S 3 : a 0 + 1.1a 1 + 1.21a 2 = 3.004
a 0 + 1.2a 1 + 1.44a 2 = 3.320
Usando o dispositivo prtico para o mtodo de eliminao de Gauss, obtm-se:
a0
1
1
1

a1
1
1.1
1.2

a2
1
1.21
1.44

2.718
3.004
3.320

0.1
0.2

0.21
0.44

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.5 x 2

f (1.05) P2 (1.05) = 1.508 (0.29)(1.05) + (1.5)(1.05) 2 = 2.85725


Obs.: sabendo-se que f ( x) = e x , tem-se que f (1.05) = e1.05 = 2.8576511
A matriz A dos coeficientes pode ser, no caso geral, mal condicionada. Portanto, no ser
sempre conveniente obter o polinmio de interpolao da forma indicada no exemplo.

4.3.2 OBTENO DE Pn (x) - FORMA DE LAGRANGE

Sejam x0 , x1,

, xn , (n + 1) pontos distintos, e yi = f ( xi ) , i = 0,1,2, , n . Seja Pn (x) o


polinmio de grau n que interpola f em x0 , x1, , xn . Supor que Pn (x) da forma:
Pn ( x) = y0 L0 ( x) + y1L1 ( x ) + ... + yn Ln ( x)

onde cada Lk ( x), (k = 0,1,2,..., n) , um polinmio de grau n.


Da condio de interpolao:

Pn ( xi ) = yi vem que y0 L0 ( xi ) + y1L1 ( xi ) + ... + yn Ln ( xi ) = yi


Esta condio ser satisfeita se se impuser:

76

Lk ( xi ) =

1, se k = i
0, se k i

o que obtido com a seguinte definio de Lk(x):

Lk ( x) =

( x x 0 )( x x1 )...( x x k 1 )( x x k +1 )...( x x n )
( x k x 0 )( x k x1 )...( x k x k 1 )( x k x k +1 )...( x k x n )

pois:
Lk ( x k ) = 1 e
Lk ( x i ) = 0 se i k
Como Lk(x) tem n fatores da forma (x - xi), Lk (x) um polinmio de grau n. Assim,
Pn (x) um polinmio de grau n.
Esta a forma de Lagrange para o polinmio interpolador:
n

( x xi )

Pn ( x) =

y k Lk ( x)

onde Lk ( x) =

k =0

i =0
ik
n

( xk xi )

i =0
ik

Exemplo:
Seja y = f (x) uma funo definida atravs da tabela a seguir. Para esta funo pede-se,
utilizando a forma de Lagrange, com interpolao quadrtica:
(a) O valor aproximado para f (1.05) ;

(b) O polinmio de interpolao na forma P2 ( x ) = a0 + a1 x + a2 x 2 .


x

1.0

1.1

1.2

f(x)

2.718

3.004

3.320

Resoluo:

(a)

P2 ( x) = y0 L0 ( x) + y1L1 ( x) + y2 L2 ( x)

L0 ( x) =

( x x1 )( x x2 )
( x 1.1)( x 1.2)
=
( x0 x1 )( x0 x2 ) (1.0 1.1)(1.0 1.2)

L0 (1.05) =

(1.05 1.1)(1.05 1.2)


(1.0 1.1)(1.0 1.2)

L1 ( x) =

( x x0 )( x x2 )
( x 1)( x 1.2)
=
( x1 x0 )( x1 x2 ) (1.1 1)(1.1 1.2)

L1 (1.05) =

(1.05 1)(1.05 1.2)


(1.1 1)(1.1 1.2)

77

L2 ( x) =

( x x0 )( x x1 )
( x 1)( x 1.1)
=
( x2 x0 )( x2 x1 ) (1.2 1)(1.2 1.1)

L2 (1.05) =

(1.05 1)(1.05 1.1)


(1.2 1)(1.2 1.1)

f (1.05) P2 (1.05) = 2.718 L0 (1.05) + 3.004 L1 (1.05) + 3.32 L2 (1.05)


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)

P2 (1.05) = 2.718 0.375 + 3.004 0.75 + 3.32 (0.125) = 2.85725


(b) Obteno de P2 ( x ) = a0 + a1 x + a2 x 2
P2 ( x) = y0 L0 ( x) + y1L1 ( x) + y2 L2 ( x)
L0 ( x) =

( x 1.1)( x 1.2)
= 50 x 2 115 x + 66
(1.0 1.1)(1.0 1.2)

L1 ( x) =

( x 1)( x 1.2)
= 100 x 2 + 220 x 120
(1.1 1)(1.1 1.2)

L2 ( x) =

( x 1)( x 1.1)
= 50 x 2 105 x + 55
(1.2 1)(1.2 1.1)

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) = 15
. x 2 0.29 x + 1508
.
Observao:
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

Exemplo: (interpolao linear)


(a) Obter, utilizando a forma de Lagrange, o polinmio P1 (x) que interpole os pontos
( x0 , f ( x0 )) e ( x1 , f ( x1 )) .

(b) Comparar com a equao da reta que passa por estes pontos.
Resoluo:
(a)

P1 ( x) = y0 L0 ( x) + y1L1 ( x)

78

x0

x1

f(x)

yo

y1

L 0 ( x) =

P1 ( x) = y0

(x x 1 )
(x 0 x1 )

(x x 0 )
(x1 x 0 )

L 1 ( x) =

( x x1 )
( x x0 )
( x x)
( x x0 ) ( y1 y0 )
(y x y x )
+ y1
= y0 1
+ y1
=
x+ 0 1 1 0
( x0 x1 )
( x1 x0 )
( x1 x0 )
( x1 x0 ) ( x1 x0 )
( x1 x0 )
a

(b)

tg =

y1 y0 P1 ( x) y0
=
x1 x0
x x0

P1 ( x) =

P1 ( x) =

( y1 y0 )
( x x0 ) + y0
( x1 x0 )

( y1 y0 )
( y y ) x + ( x1 x0 ) y0
x+ 0 1 0
( x1 x0 )
( x1 x0 )

P1 ( x) =

( y1 y0 )
(y x y x )
x+ 0 1 1 0
( x1 x0 )
( x1 x0 )
a

Exemplo:
Seja a funo y = f (x) conhecida apenas nos pontos tabelados:

0.1

0.3

0.6

f(x)

2.001

4.081

8.296

21

Determinar o valor aproximado para f (0.20) aplicando-se a frmula de Lagrange


Resoluo:
P4 ( x) = y0 L0 ( x) + y1L1 ( x) + y2 L2 ( x) + y3 L3 ( x) + y4 L4 ( x)
( x 0)( x 0.3)( x 0.6)( x 1)
( x 0.1)( x 0.3)( x 0.6)( x 1)
+
+(2.001)
(0.1 0)(0.1 0.3)(0.1 0.6)(0.1 1)
(0 0.1)(0 0.3)(0 0.6)(0 1)
(4.081) ( x 0)( x 0.1)( x 0.6)( x 1) + (8.296) ( x 0)( x 0.1)( x 0.3)( x 1) +
(0.3 0)(0.3 0.1)(0.3 0.6)(0.3 1)
(0.6 0)(0.6 0.1)(0.6 0.3)(0.6 1)
(21) ( x 0)( x 0.1)( x 0.3)( x 0.6)
(1 0)(1 0.1)(1 0.3)(1 0.6)
= (1)

79

f (0,20) P4 (0,20) =
(0.2 0.1)(0.2 0.3)(0.2 0.6)(0.2 1)
(0.2)(0.2 0.3)(0.2 0.6)(0.2 1)
+ (2.001)
+
(0.1)(0.3)(0.6)
(0.1)(0.1 0.3)(0.1 0.6)(0.1 1)
(0.2(0.2 0.1)(0.2 0.3)(0.2 1)
(0.2)(0.2 0.1)(0.2 0.6)(0.2 1)
+
(4.081)
+ (8.296)
(0.6)(0.6 0.1)(0.6 0.3)(0.6 1)
(0.3)(0.3 0.1)(0.3 0.6)(0.3 1)
(0.2)(0.2 0.1)(0.2 0.3)(0.2 0.6)
(21)
= 3.016
(1 0.1)(1 0.3)(1 0.6)
=

f (0,20) 3.016

Exerccio:
Usar a forma de Lagrange para obter um polinmio de grau 3 que interpole os pontos
da tabela:

f(x)

-5

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

Exerccio:
Seja a funo y = f (x) conhecida apenas nos pontos tabelados:

0.2

0.4

0.5

f(x)

2.008

4.064

5.125

Determinar o valor aproximado para f(0.3) aplicando-se a frmula de Lagrange.

4.3.3 OBTENO DE Pn (x) - FORMA DE GREGORY - NEWTON PARA O


POLINMIO INTERPOLADOR
4.3.3.1 TABELA DE DIFERENAS FINITAS
Definio:
Sejam x0 , x1 , x2 , pontos que se sucedem com passo h, isto , x j = x0 + jh . Define-se o
operador de diferenas finitas como segue:

80

0 f ( x) = f ( x)
f ( x) = f ( x + h) f ( x)
2 f ( x) = f ( x + h) f ( x)
n f ( x) = n 1 f ( x + h) n 1 f ( x)

Conhecidos os valores de f (x) em x0 , x1, x2 ,


diferenas finitas:
x

f(x)

x0

f(x0)

x1

f(x1)

xn , constri-se a seguinte tabela de

2f(x)

f(x)
f(x0)

2f(x0)
...

f(x1)
x2

f(x2)

2f(x

1)

f(x2)
x3

f(x3)

Exemplo:
Seja f(x) dada na forma tabular:

-1

f(x)

10

A tabela de diferenas finitas para esta funo mostrada a seguir:


x

f(x)

-1

2f(x)

f(x)

3f(x)

4f(x)

-1
2
1
1

2
3

2
5

10

81

4.3.2 O POLINMIO DE INTERPOLAO

Estabelece-se a seguinte forma para o polinmio de interpolao (forma de GregoryNewton):


f ( x0 )
2 f ( x0 )
n f ( x0 )
+ ( x x0 )(x x1 )
+
+

Pn ( x) = f ( x0 ) + ( x x0 )
...
(
x
x
)(
x
x
)...(
x
x
)
0
1
n 1
h
2h2
hn .n!
Observar que os pontos de interpolao devem ser igualmente espaados (por um valor de
passo h).
Exemplo:
Para os dados da funo f(x), apresentada abaixo na forma tabular a seguir, pede-se obter,
usando a forma de Gregory-Newton:
a) Uma aproximao para f(1.05)
b) O polinmio P2 ( x) que interpola f(x)

1.0

1.1

1.2

f(x)

2.718

3.004

3.320

f(x)

2f(x)

Soluo:
(a) Construo da tabela das diferenas finitas

f(x)

x0 =
1

2.718
0.286

1.1

3.004

0.03
0.316

1.2

3.320

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 )

f (1.05) P2 (1.05) = 2.718 + (1.05 1)

0.286
0.03
+ (1.05 1)(1.05 1.1)
0.1
(0.1) 2 .2

f (1.05) 2.85725

82

(b) obteno de P2(x):


P2 ( x) = 2.718 + ( x 1)

0.286
0.03
+ ( x 1)( x 1.1)
0. 1
(0.1) 2 .2

P2 ( x) = 2.718 + 2.86 x 2.86 + 1.5( x 2 2.1x + 1.1)


P2 ( x) = 1.5 x 2 + (2.86 3.15) x + (2.718 2.86 + 1.65)
P2 ( x) = 1.5 x 2 0.29 x + 1.508
Exemplo: Dada a funo y = f (x) , conhecida pelos pontos da tabela abaixo, obter uma
aproximao para f (0.25) , empregando a frmula de Gregory-Newton com:

a) Interpolao linear

b) Interpolao quadrtica

0.10

0.20

0.30

0.40

0.50

f(x)

0.125

0.064

0.027

0.008

0.001

2f(x)

3f(x)

Resoluo:
(a) Construo da tabela de diferenas finitas:

f(x)

f(x)

4f(x)

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
Obteno de uma aproximao para f (0.25) utilizando interpolao linear ( P1 ( x) ):
x

f(x)

x0 = 0.20

0.064

f(x)

-0.037

0.30

0.027

83

O passo h corresponde ao espaamento entre os pontos, ou seja, h = 0.30 0.20 = 0.10 .


P1 ( x) = f ( x0 ) + ( x x0 )

f ( x0 )
h

P1 ( x) = 0.064 + ( x 0.20)

f (0.25) P1 (0.25) = 0.064 + (0.25 0.20)

(0.037)
0.1

(0.037)
0. 1

f (0.25) 0.0455

(b) Obteno de uma aproximao para f (0.25) com interpolao quadrtica ( P2 ( x) ):


x

f(x)

x0 = 0.10

0.125

f(x)

2f(x)

-0.061

0.20

0.024

0.064
-0.037

0.30

0.027

f ( x0 )
2 f ( x0 )
+ ( x x0 )( x x1 )
h
2h 2
h = 0.30 0.20 = 0.20 0.10 = 0.10 .
(0.061)
0.024
P2 ( x) = 0.125 + ( x 0.1)
+ ( x 0.1)(x 0.2)
0.10
(2)(0.10)2
P2 ( x) = f ( x0 ) + ( x x0 )

0.15

0.15

0.05

0.024
(0.061)
f (0.25) P2 (0.25) = 0.125 + (0.25 0.10)
+ (0.25 0.10)(0.25 0.20)
(2)(0.10) 2
0.10
f (0.25) 0.0425

Observe-se que poderiam tambm ser utilizados os pontos a seguir, para a obteno de
P2 ( x) :
x

f(x)

0.20

0.064

f(x)

2f(x)

-0.037

0.30

0.018

0.027
-0.019

0.40
P2 ( x) = 0.064 + ( x 0.20)

0.008

0.018
(0.037)
+ ( x 0.20)(x 0.30)
(2)(0.10)2
0.10

84

f (0.25) P2 (0.25) = 0.064 + (0.25 0.20)

(0.037)
0.018
+ (0.25 0.20)(0.25 0.30)
0.10
(2)(0.10)2

f (0.25) 0.04325

Exerccio: dada a funo y = f (x) , conhecida pelos pontos da tabela abaixo, calcular
uma aproximao para f(3.7), empregrando a frmula de Gregory-Newton.

Obs.:

f(x)

0.6931

1.0986

1.3863

f(x) = ln x

Exerccio: obter, usando a frmula de Gregory-Newton, uma aproximao para f(0.7),


onde f uma funo conhecida apenas nos pontos tabelados a seguir:

0.5

1.5

2.0

f(x)

0.0

1.1487

2.7183

4.9811

8.3890

4.3.4 OBTENO DE Pn (x) - FORMA DE NEWTON COM DIFERENAS


DIVIDIDAS

4.3.4.1 TABELA DE DIFERENAS DIVIDIDAS

Definio:
Seja y = f (x ) uma funo tabelada em x0 , x1 ,
operador de diferenas divididas como segue:

, xn , (n + 1) pontos distintos. Define-se o

f [x0 ] = f (x0 )
f [x1 ] f [x0 ] f (x1 ) f ( x0 )
=
x1 x0
x1 x0
f [x1, x2 ] f [x0 , x1 ]
f [x0 , x1 , x2 ] =
x2 x0

f [x0 , x1 ] =

f [x0 , x1 , x2 , x3 ] =

f [x0 , x1 , x2 ,

f [x1 , x2 , x3 ] f [x0 , x1 , x2 ]
x3 x0

, xn ] =

f [x1 , x2 ,

, xn ] f [x0 , x1 ,
xn x0

85

, xn 1 ]

Define-se f [x0 , x1 , , xk ] como sendo a diferena dividida de ordem k da funo f(x)


sobre os (k+1) pontos: x 0 , x1 , , x k
Tabela de diferenas divididas

Conhecidos os valores de y = f ( x ) em x0 , x1,


diferenas divididas.
x

ordem 0

x0

f[x 0 ]

ordem 1

, xn , , constri-se a seguinte tabela de

ordem 2

ordem 3

...

ordem n

f [x 0 , x 1 ]
x1

f [ x1 ]

f [x 0 , x 1 , x 2 ]

f [ x 0 , x1 , x 2 , x 3 ]

f [x 1 , x 2 ]

x2

f [x 2 ]

f [x 1 , x 2 , x 3 ]
f [ x1 , x 2 , x 3 , x 4 ]

f [x 2 , x 3 ]
x3

f[x 3 ]

f[x 2 , x 3 , x 4 ]
f [x 3 , x 4 ]

x4

f [ x0 , x1, x2 , , xn ]

f [x 4 ]
f [ x n 3 , x n 2 , x n 1 , x n ]
f [ x n 2 , x n 1 , x n ]
f [ x n 1 , x n ]

xn

f [x n ]

Exemplo:
Construir a tabela de diferenas divididas para a funo f( x ) tabelada a seguir:

x
f(x)

-1
1

0
1

1
0

2
-1

3
-2

Resoluo:

86

x
-1

ordem 0
1

ordem 1

ordem 2

ordem 3

ordem 4

11
=0
0 ( 1)

1 0
1
=
1 ( 1)
2

1
0 1
= 1
1 0

0 ( 1 2) 1
=
2 ( 1)
6
1 ( 1)
=0
20

0
1 0
= 1
2 1

0 1 6
1
=
3 ( 1)
24
00
=0
3 0

1 ( 1)
=0
3 1

-1
2 ( 1)
= 1
32

-2

4.3.4.2 FORMA DE NEWTON PARA O POLINMIO INTERPOLADOR

A forma de Newton para o polinmio Pn (x) que interpola f(x) em x0 , x1 ,


pontos distintos, a seguinte:

, xn , (n + 1)

Pn ( x ) = f ( x0 ) + ( x x0 ) f [x0 , x1 ] + ( x x0 )( x x1 ) f [x0 , x1 , x2 ] +
+ ( x x0 )( x x1 )

(x xn 1 ) f [x0 , x1,

, xn ]

Exemplo: Obter, utilizando a forma de Newton com diferenas divididas, o polinmio


P2 ( x) que interpola y = f (x) nos pontos dados abaixo:

x
f(x)

1.0
2.718

1.1
3.004

1.2
3.320

Resoluo:

(a) Tabela das diferenas 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

87

(b) Obteno de P2 ( x) :
P2 ( x ) = f (x0 ) + ( x x0 ) f [x0 , x1 ] + (x x0 )( x x1 ) f [x0 , x1 , x2 ]
P2 ( x ) = 2.718 + (x 1)(2.86 ) + ( x 1)( x 1.1)(1.5) = 2.718 + 2.86 x 2.86 + 1.5 x 2 3.15 x + 1.65
P2 ( x ) = 1.5 x 2 0.29 x + 1.508
Exemplo:
Dada a funo y = f (x) , conhecida pelos pontos da tabela abaixo, obter uma aproximao
para f (0.25) , atravs da frmula de Newton (com diferenas divididas), utilizando:
a) Interpolao linear
b) Interpolao quadrtica

x
f(x)

0.10
0.125

0.20
0.064

0.30
0.027

0.40
0.008

0.50
0.001

Resoluo:

(a) Aproximao com interpolao linear:


Construo da tabela de diferenas divididas:
x

ordem 0

0.10

0.125

ordem 1

0.064 0.125
0.20 0.10

0.20

0. 9 1. 2
= 1
0. 40 0.10

= 0.37
0.19 ( 0.37)
= 0.9
0.40 0.20

0.027

0.008 0.027
0.40 0.30

0.07 ( 0.19)
= 0.6
0.50 0.30

0.50 0.40

1 ( 1)
=0
0.50 0.10
0. 6 0. 9
= 1
0. 50 0. 20

= 0.19

0.008

0.001 0.008

0.50

ordem 4

0.37 ( 0.61)
= 1.2
0.30 0.10

0.064

0.30 0.20

0.40

ordem 3

= 0.61

0.027 0.064
0.30

ordem 2

= 0.07

0.001

Obteno de P1 ( x) :

88

ordem 0

x0 = 0.20

0.064

ordem 1

-0.37
0.30

0.027

P1 ( x ) = f ( x0 ) + ( x x0 ) f [x0 , x1 ] = 0.064 + ( x 0.20)(0.37)


f (0.25) P1 (0.25) = 0.064 + (0.25 0.20)(0.37)
f (0.25) 0.0455

(b) Aproximao com interpolao quadrtica:


x

ordem 0

x0 = 0.20

0.064

ordem 1

ordem 2

-0.37
0.30

0.9

0.027
-0.19

0.40

0.008

P2 ( x ) = f ( x0 ) + ( x x0 ) f [x0 , x1 ] + ( x x0 )( x x1 ) f [x0 , x1 , x2 ]
P2 ( x ) = 0.064 + (x 0.20)(0.37) + ( x 0.20)( x 0.30) (0.9)
f (0.25) P2 (0.25) = 0.064 + (0.25 0.20 )( 0.37) + (0.25 0.20)(0.25 0.30) (0.9)
f (0.25) 0.04325

4.3.4.3 ESTUDO DO ERRO NA INTERPOLAO

Ao se aproximar uma funo y = f (x) por um polinmio interpolador de grau n cometese um erro, ou seja:
En ( x ) = f ( x ) Pn ( x ), x [x0 , xn ]
Teorema 1:
Sejam x0 < x1 < x2 <

< xn , (n + 1) pontos, e seja y = f (x) com derivadas at ordem


(n + 1), x [x0 , xn ] . Seja Pn(x) o polinmio interpolador de f(x) nos pontos x0 , x1 , , xn .
Ento, x [x0 , xn ], tem-se que:
En ( x ) = f ( x ) Pn ( x ) = ( x x0 )( x x1 )( x x2 )

89

(x xn ) f

(n +1)

( x )
(n + 1)!

onde x ( x0 , xn )

Observe-se que a frmula anterior para En ( x ) tem uso limitado na prtica, dado que so
raras as situaes em que conhecemos f (n +1) ( x) e que o ponto x nunca conhecido.
Teorema 2:
f [x0 , x1 ,

, xn , x ] =

f (n +1) ( x )
, x ( x0 , xn ) e x (x0 , xn )
(n + 1)!

Observe-se que este teorema mostra a relao existente entre a diferena dividida de ordem
(n + 1) e a derivada de ordem (n + 1) .
Corolrio 1:
Sob as hipteses do Teorema 1, e se f (n +1) (x ) for contnua em I = [x0 , xn ], pode-se escrever
a seguinte relao:
En ( x ) = f ( x ) Pn ( x ) ( x x0 )( x x1 )

(x xn )

M n +1
(n + 1)!

onde M n +1 = mx f (n +1) (x )
x I

Se a funo y = f (x) dada na forma de uma tabela, o valor absoluto do erro, En ( x ) ,


somente pode ser estimado. Se construirmos a tabela de diferenas divididas at ordem
(n + 1) , podemos usar o maior valor (em mdulo) das diferenas divididas de ordem (n+1)
Mn + 1
no intervalo [x o , x n ], ou seja:
como uma aproximao para
(n + 1)!
E n (x ) ( x x 0 )(x x1 ) ( x x n ) Max diferenas divididas de ordem (n + 1)

Exemplo:
Seja y = 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

Para esta funo, pede-se obter:


(a) Uma aproximao para f(0.47) utilizando um polinmio de grau 2 (interpolao
quadrtica), a partir da forma de Newton com diferenas divididas.
(b) Obter uma estimativa para o erro incorrido com esta aproximao.
Resoluo:

(a) Tabelas de diferenas divididas

90

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

18.2492
1.0415

0.375

-2.6031
0.2085

0.4167

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)
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 )

(x xn ) Max diferenas divididas de ordem (n + 1)


E 2 ( x ) ( x x 0 )(x x1 )( x x 2 ) Max diferenas divididas ordem 3
E2 (0.47 ) (0.47 0.4 )(0.47 0.52 )(0.47 0.6 )(18.2492 )
E2 (0.47 ) 8.303 x10 3

4.3.5 INTERPOLAO INVERSA

Dada a Tabela:

x0

x1

x2

xn

f (x)

f ( x0 )

f ( x1 )

f ( x2 )

f ( xn )

o problema de Interpolao Inversa consiste em, dado y ( f (xo ), f ( xn )) , obter


x tal que f (x ) = y.

FORMAS DE SE RESOLVER ESTE PROBLEMA

(I) Obter Pn ( x) que interpole y = f (x) em x 0 , x1 ,


x tal que Pn (x ) = y

, x n , e em seguida encontrar

Exemplo:
Dada a tabela a seguir, encontrar uma aproximao x para x tal que f ( x) = 2 .

91

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

Utilizando interpolao quadrtica sobre xo = 0.6, x1 = 0.7, e x2 = 0.8


Resoluo:

Tabela de Diferenas Divididas


x

ordem 0

0.5

1.65

0.6

1.86

ordem 1

ordem 2

2.1
-3
1.5
0.7

3.5

2.01
2.2

0.8

2.23

2.0
2.3

0.9

2.46

1.5
2.6

1.0

2.72

Polinmio de Interpolao

P2 ( x ) = f ( x0 ) + ( x x0 ) f [x 0 , x1 ] + ( x x 0 )( x x1 ) f [x0 , x1 , x 2 ]
P2 ( x ) = 1.86 + (x 0.6 )(1.5) + (x - 0.6 )( x 0.7 )(3.5) = 3.5 x 2 3.05 x + 2.43
P2 (x ) = 2.0

f (x ) 2

3.5x 2 3.05x + 2.43 = 2.0


3.5x 2 3.05x + 0.43 = 0
(pois x = 0.6945 (0.6,0.7) ).
x = 0.6945 ou x = 0.177 x = 0.6945

(II) Interpolao Inversa

Se y = f ( x) for inversvel num intervalo contendo y ento fazemos a interpolao de


x = f 1 ( y ) = g ( y ) .
Uma condio para que uma funo contnua num intervalo [a, b] seja inversvel que seja
montona crescente (ou decrescente) neste intervalo. Se f ( x) dada na forma tabelar,
supondo que y = f ( x) seja contnua em (xo , xn ), f ( x ) ser considerada montona
crescente se f ( xo ) < f ( x1 ) < < f (xn ) e decrescente se f ( xo ) > f ( x1 ) > > f ( xn ) .

Exemplo:
Para os dados do exemplo anterior, encontrar x tal que f (x ) = 2 : , atravs de interpolao
inversa, utilizando interpolao quadrtica. Estimar o erro incorrido com esta aproximao.

92

Resoluo:
Tabela de diferenas divididas:
y

ordem 0

1,65

0,5

y 0 = 1,86

0,6

y1 = 2,01

0,7

y 2 = 2,23

0,8

2,46

0,9

2,72

ordem 1

ordem 2

ordem 3

0,4762
0,5291
0,6667

-1,9007

-0,5733
0,4545

0,8823

-0,0439
0,4348

-0,0823

-0,1024
0,3846

Obteno de x (interpolao inversa):


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.5733)
P2 (2.00 ) = 0.6 + (2 1.86 )(0.6667 ) + (2 1.86 )(2 2.01)( 0.5733) = 0.6941
x = 0.6941

Estimativa do erro na aproximao:


E n ( y ) ( y y 0 )( y y1 ) ( y y n ) Max diferenas divididas de ordem (n + 1)

E 2 ( y ) ( y y 0 )( y y1 )( y y 2 ) Max diferenas divididas ordem 3


E 2 (2.00 ) (2.00 1.86 )(2.00 2.01)(2.00 2.23)(1.9007 )

E 2 (2.00) 0.000612

Exerccio:
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 polinmio 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 possvel.
Resp.: (I) 0.3166666
(II) 0.3166666; erro 1.666664 x10 3

Exerccio:
Construa uma tabela para a funo f(x) = cos(x) usando os pontos: 0.8, 0.9, 1.0, 1.1, 1.2,
1.3. Obtenha um polinmio de 3o grau para estimar cos(1.07) Fornea um limitante
superior para o erro ao se calcular cos(1.07) pelo polinmio obtido.

93

Resp.:

cos(1.07 ) 0.4801232
E(1.07 ) 1.2020383x10 6

Exerccio:
O calor especfico da gua, como funo da temperatura, dado por:
Temperatua, oC

Calor Especfico

20
25
30
35
40
45
50

0.99907
0.99852
0.99826
0.99818
0.99828
0.99849
0.99878

(a) Use interpolao linear para estimar o calor especfico da gua a 37oC;
(b) Use interpolao quadrtica para estimar o calor especfico a 37oC.
Observao: usar o polinmio interpolante de Newton com diferenas divididas, estimar o
erro cometido em cada caso:

4.3.6 INTERPOLAO LINEAR DUPLA

Seja determinar uma aproximao para f (x c , y c ) , utilizando a teoria de Interpolao.


Supor que xc e yc satisfaam s restries:

x j 1 xc x j
yi 1 y c yi
Graficamente:

Inicialmente interpolamos z = f (x j 1 , y ) e obtemos uma expresso para f (x j 1 , y c ) , onde

f (x j 1 , y c ) uma aproximao para f (x j 1 , y c ) . Depois interpolamos z = f (x j , y ) e

94

obtemos uma expresso para f (x j , yc ) . Interpolamos ento z = f ( x, yc ) e obtemos ento


uma expresso para f (x c , y c ) . O detalhamento segue:
yc yi 1
f (x j 1 , yi ) f (x j 1 , yi 1 )
yi yi 1
y yi 1
f (x j , yc ) = f (x j , yi 1 ) + c
f (x j , yi ) f (x j , yi 1 )
yi yi 1
xc x j 1
f (x j , yc ) f (x j 1 , yc )
f ( xc , yc ) = f (x j 1 , yc ) +
x j x j 1

f (x j 1 , yc ) = f (x j 1 , yi 1 ) +

Notar que as expresses para f (x j 1 , yc ) e f (x j , yc ) so obtidas a partir da interpolao de


z como funo de y, mantidos constantes os correspondentes valores de x. Notar tambm
que a expresso para f ( xc , yc ) obtida a partir da interpolao de z como funo de x, em
y constante igual a yc . Observar, por final, que os valores para f (x j 1 , yc ) e f (x j , yc ) ,
calculados atravs das duas primeiras expresses, so utilizados no clculo de f ( xc , yc ) .

Exemplo:
A integral elptica de primeira espcie definida como sendo:
F (, ) =

1 sen 2 sen 2

Mostra-se, a seguir, uma tabela parcial do valor desta funo:

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( 73o , 77o ) , utilizando interpolao linear dupla.


Resoluo:

Notao utilizada:

x1 = 50, x2 = 60, x3 = 70, x4 = 80, x5 = 90

95

y1 = 50, y2 = 55, y3 = 60, y4 = 65, y5 = 70, y6 = 75, y7 = 80


Clculo de uma aproximao para f (73,77 )

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
(iii) f (73,77 ) = 1.8804 +
(2.0742 1.8804) = 1.9385
80 70
(i)

f (70,77 ) = 1.7927 +

4.3.7 ASPECTOS COMPUTACIONAIS: IMPLEMENTAO DO MTODO DE


NEWTON COM DIFERENAS DIVIDIDAS

Esquema para construo da tabela de diferenas 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) =

X(2)

D(2,0)
D ( 2,1) =

X(3)

D(3,0)
D ( 3,1) =

D ( 2, 0) D (1, 0)

D (1,1) D ( 0,1)

ordem (N-1)

..

D(1, N 2) D(0, N 2)
D(0, N 1) =

D ( 2,1) D (1,1)
X ( 3) X (1)

D ( 3, 0 ) D ( 2,0 )

D ( 3,1) D ( 2,1)

X ( 3) X ( 2 )

X (4) X ( 2)

D ( 4, 0 ) D ( 3, 0 )

D ( 4,1) D (3,1)

D ( 4, 2 ) =

X ( N ) X (0)

D(2, N 2) D(1, N 2)
D(1, N 1) =

X ( 2) X (1)
D ( 3, 2 ) =

..

D(1, N 1) D(0, N 1)
D(0, N ) =

X ( N 1) X (0)

X ( 2) X ( 0)

D ( 2, 2 ) =

ordem N

X ( 4 ) X ( 3)

X ( N) X (1)

X ( 5) X ( 3)

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)

Seja M = N + 1, o nmero de pontos da tabela. Os elementos de D podem ser obtidos, de


uma forma genrica, a partir das expresses:

96

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 polinmio interpolante de Newton com diferenas 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

( A X (k ) ) = 1
K =0

Segue o algoritmo:
Incio ! Mtodo de Newton com Diferenas Divididas
! entrada de dados
Solicite o nmero de pontos
Leia o nmero de pontos (M)
Solicite os valores de (X,F(X))
N = M 1
Para I de 0 at N
Faa
Leia X(I), D(I,0)
Fim Para
! construo da tabela de diferenas divididas
Para J de 1 at N
Faa
Para I de 0 at M-J+1
Faa
D( I , J ) =

D ( I + 1, J 1) D ( I , J 1)
X (I + J ) X (I )

Fim para
Fim para
! clculo 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
Faa
P = 1
Para K de 0 at J-1
Faa
P = P * (A X(K))
Fim Para
F = F + D(0,J)*P
Fim para
(* sada do valor aproximado *)
Escreve Aproximao = , F
Fim ! Mtodo de Newton com Diferenas Divididas

97

Exerccios:

(1) Considere a funo y = f (x) conhecida atravs dos pontos da tabela:


x
f(x)

0.000
1.000

0.100
0.761

0.300
0.067

0.400
-0.376

Atravs da forma de Lagrange, determine:


(a) o valor aproximado de f(0.32) usando um polinmio interpolador de 2o grau, ou
seja, calcule P2 (0.32)
(b) P3(0.32)
Sabendo que a funo 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 especfico da gua (c) em funo da temperatura
(T). Calcular o calor especifico da gua a uma temperatura de 25oC interpolando os
pontos da tabela com um polinmio de 3o grau, obtido atravs:
(a) da frmula de Lagrange.
(b) da frmula de Newton com diferenas divididas.
Comparar os resultados obtidos com o valor real 0.99852
T (oC)

C
0.99907
0.99826
0.99849
0.99919

20
30
45
55

Resp.: P3(25) = 0.99854


(3) A tabela a seguir relaciona a velocidade (v) de um foguete lanado do solo com o
tempo (t). Calcule a velocidade aproximada do foguete 25s aps o lanamento,
interpolando os pontos da tabela com um polinmio de 4o grau, obtido atravs da
frmula de Newton com diferenas divididas.
t (s)
v (m/s)

0
0.000

8
52.032

20
160.450

30
275.961

45
370.276

Resp.: P4(25) = 219.612 m/s


(4) A tabela a seguir relaciona a distncia (d) percorrida por uma bala ao longo do cano de
um canho com o tempo (t). Encontrar a distncia percorrida pela bala 5 segundos aps
ter sido disparada, interpolando os pontos da tabela atravs de um polinmio de 4o grau
obtido atravs da frmula de Gregory-Newton.
t (s)
d (m)

0
0.000

2
0.049

4
0.070

98

6
0.087

8
0.103

Resp.: P4(5) = 0.078


(5) Considerando a tabela a seguir, onde esto representados alguns pontos da funo
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 Plo Computacional, em particular equipe de digitao, cujo apoio foi essencial para a produo do
presente trabalho. Aos colegas do DMA, pelo apoio, crticas e sugestes recebidas.
BIBLIOGRAFIA
1. RUGGIERO, M.A.G. & LOPES, V.L.R. Clculo Numrico Aspectos Tericos e Computacionais.
McGraw-Hill, 1988.
2. DORN, W.S. & MAcCRACKEN, D.D. Clculo Numrico com Estudo de Casos em Fortran IV.
Campus,1978.
3. BARROSO, L.C. & outros. Clculo Numrico (com aplicaes). Editora Harbra Ltda, 1987.
4. SCHEID, F. Anlise Numrica. McGraw-Hill, 1991.
5. ALBRECHT, P. Anlise Numrica: um curso moderno. Livros Tcnicos e Cientficos, 1973.
6. PACITTI, T. & ATKINSON, C.P. Programao e Mtodos Computacionais (Vol. 2). Livros Tcnicos
e Cientficos, 1981.
7. CHAPRA, S.C. & CANALE, R.P. Numerical Methods for Engineers (with Personal Computer
Applications). McGraw-Hill, 1987.

99