Você está na página 1de 23

Captulo 4: Interpolao Polinomial

1. Introduo
Suponhamos que conhecemos a funo f em apenas em (n+1) pontos do intervalo
[a,b] e que pretendemos conhece-la em qualquer outro ponto desse intervalo. Para
tal vamos, com base nos pontos conhecidos, construir uma funo que substitua
f(x) dentro de um limite de preciso. Uma tal funo designa-se por funo
aproximante.
A escolha da funo aproximante aqui um polinmio, mas poderia ser outra. Se
escolhssemos funes racionais teramos interpolao racional, se escolhssemos
funes exponenciais teramos interpolao exponencial.
Seja, ento, f uma funo definida em A, f: A , e admitamos que so
conhecidos os pontos (x0, f(x0)), (x1, f(x1)), ..., (xn, f(xn)), com xi < xi+1, i=0,..., n-1
sendo x0=a e xn=b. Pretende-se aproximar f(x), x[ x0, xn], por um polinmio
Pn(x)=anxn+an-1xn-1+...+a2x2+a1x+a0

(1)

tal que nos pontos conhecidos Pn(x) coincida com a funo f(x), i.., que satisfaa:
Pn(xi)=f(xi) i=0,...,n

(2)

Diremos que Pn(x) um polinmio interpolador para f(x) nos pontos dados,
(xi, f(xi)) i=0,...,n, que sero o suporte da interpolao.
Assim, dados (n+1) pontos (xi, f(xi)), i=0,...,n, a existncia de um polinmio que
satisfaa (2) e acerca da unicidade e do grau do polinmio temos informao
atravs do seguinte teorema:
Teorema: Sejam dados (n+1) pontos distintos x0, x1, ..., xn, (xi xj), e os valores de
f(x) nesses pontos f(x0), f(x1), ...,f(xn). Ento existe um nico polinmio Pn(x) de
grau inferior ou igual a n que satisfaz a f(xi)=Pn(xi), i=0, ...,n.

2. Interpolao polinomial: linear e quadrtica


O caso linear o caso mais simples da interpolao. Dados dois pontos
distintos de uma funo y=f(x), (x0, f(x0)) e (x1, f(x1)), e x (x0, x1) pretendemos
saber, usando a interpolao polinomial, o valor de y = f (x ) .
Pelo teorema anterior, vamos construir um polinmio de grau um,
P1(x)=a0+a1x
Mas P1(x) tem de ser tal que:

P1 ( x0) = f ( x0) = y0

P1 ( x1) = f ( x1) = y1
Para obtermos o valor dos coeficientes a0 e a1 temos que resolver o sistema
x 1
anterior em ordem a a0 e a1. A matriz dos coeficientes , A= 0 , sendo que
x1 1
det(A)=x0-x1. O sistema anterior tem soluo nica se det(A)0, i.., se x0x1.
Ou seja, para pontos distintos o sistema tem soluo nica.
Interpretao Geomtrica
O polinmio P1(x)=a0+a1x a equao da recta que passa nos pontos (x0, f(x0))
e (x1, f(x1)) .
Exemplo: Consideremos a funo f definida pelos pontos (0, 1.35) e (1, 2.94).

Determinar aproximadamente o valor de f(0.73).


Como temos dois pontos vamos construir um polinmio de grau um, i..,
P1(x)=a0+a1x., P1 tal que :
P1 (0) = 1.35
a 0 = 1.35
a1 0 + a 0 = 1.35

P1 (1) = 2.94
a1 = 1.59
a1 1 + a 0 = 2.94
ou seja, P1(x)=1.35+1.59x e f(0.73) P1(0.73)=2.51
O clculo de a0 e a1 est afectado por dois tipos de erro:
i.

Erro de arredondamento,

ii. Erro de truncatura cometido quando decidimos aproximar a funo f


por um polinmio de grau um.
Erro de truncatura
O erro de truncatura cometido no ponto x dado pela frmula:
ET( x )=f( x )-P1( x )

O erro de truncatura uma funo que se anula nos pontos x0 e x1, pois
f(x0)=P1(x0) e f(x1)=P1(x1) ento:
ET(x)=(x-x0)(x-x1)A,
onde A uma constante a determinar.
Obteno de A
Consideremos a funo auxiliar
G(t)=f(t)-P1(t)-ET(t),
ou seja,
G(t)=f(t)-(a1t+a0)-(t-x0)(t-x1)A
A funo G(t) anula-se em pelo menos trs pontos t=x0, t=x1, t= x . Se
considerarmos que f(t) contnua e diferencivel em (x0, x1) e uma vez que P1(t)
e ET(t) so polinmios tambm so, logo G(t) contnua e diferencivel em (x0,
x1), ento podemos aplicar o teorema de Rolle a G(t).
Recordao!
Teorema de Rolle: Se f(x) contnua e diferencivel no intervalo (a,b) e
f(a)=f(b), ento existe (a, b) tal que f '()=0.
Aplicando ento o teorema de Rolle a G(t) conclui-se que:
1 (x0, x ): G(1)=0
2 ( x , x1):G(2)=0
Ou seja, G(t) tal que G(1)=G(2) e G(t) contnua e diferencivel em
(1,2), aplicando novamente o teorema de Rolle a G(t) conclumos que:

(1, 2): G()=0


Mas se (1, 2) ento (x0, x1). Alm disso,
G(t)=f (t)-a1-(t-x1)A-(t-x0)A
G(t)=f(t)-A-A=f(t)-2A
Como G()=0, ento f()-2A=0 A=

f ' ' ( )
2

O erro de truncatura ento dado por:


ET(x)=(x-x0)(x-x1)

f ' ' ( )
, com (x0, x1)
2

Nota: Na maior parte das vezes no se conhece o valor exacto de , como tal,
consideramo-lo igual ao valor que maximiza |f(x)| em (x0, x1), i.., tal que
f ' ' ( ) = max f ' ' ( x) .
x 0 < x < x1

Exemplo: Considere a funo f(x)=sin(x). Utilizando os pontos (1, 0.84) e

(2,

0.91) construa um polinmio de grau um que aproxime f. Calcule o valor

aproximado de f( ). Determine o erro de truncatura cometido.


2

Pretendemos ento P1(x)=a0+a1x que tal que :


a + a = 0.84
a = 0.77
P1 (1) = 0.84
1 0
0

P1 (2) = 0.91
a1 2 + a0 = 0.91
a1 = 0.07

ento, P1(x)=0.77+0.07x, e, f( )P1( )=0.88.


O erro de truncatura dado por:

ET( )=( -1)( -2)

f ' ' ( )
, com (1, 2) e tal que = max f ' ' ( x)
2
1< x< 2

f (x)=cos(x) e f(x)= -sin(x), ento o mximo de |-sin(x)| no intervalo (1,2)


atingido em

, donde ET( )=0.12.


2

No caso da interpolao quadrtica pretendemos aproximar a nossa funo f


por um polinmio do segundo grau da forma P2(x)=a0+a1x+a2x2. Para tal
precisamos de conhecer a funo f em trs pontos distintos.
Sejam (xi, yi=f(xi)), i=0,1,2, trs pontos distintos de f. Pretendemos P2(x) tal
que
P2 ( x0) = y0
a2

P2 ( x1) = y1 a2
P ( x ) = y
a
2
2 2
2

x02 + a1x0 + a 0 = y0
x12 + a1x1 + a 0 = y
1
x 22 + a1x 2 + a 0 = y2

A matriz dos coeficientes


2
x0
A= x12
2
x 2

x0 1
x1 1
x 2 1

O sistema tem soluo nica se det(A)0, o que acontece se os trs pontos forem
distintos.
Erro de truncatura
O erro de truncatura agora dado por ET( x )=f( x )-P2( x ). Seguindo um
raciocnio anlogo ao efectuado para o caso linear chegamos concluso que:
ET(x)=(x-x0)(x-x1)(x-x2)

f ' ' ' ( )


, com (x0, x2).
3!

3. Interpolao de Lagrange
Tanto a interpolao linear como a quadrtica so casos particulares da
interpolao de Lagrange.
Genericamente pretendemos determinar o polinmio interpolador de grau
menor ou igual a n sendo conhecidos (n+1) pontos. Ou seja, pretendemos
n

Pn(x)=anx +an-1x +...+a2x +a1x+a0= aix i ,


n

n-1

i =0

onde Pn tem no mximo grau n. an, an-1,...,a2, a1, a0 so determinados custa da


resoluo do sistema:
n
n 1 + ... + a x 2 + a x + a = y
anx0 + an 1 x0
Pn ( x0) = y0
2 0
1 0
0 0
P ( x ) = y
a x n + a
1
n

2
x
+ ... + a2 x1 + a1x1 + a 0 = y
n 1
1 ,
1 n 1
n 1 1

....
....

Pn ( x ) = y
anx n + a
x n 1 + ... + a2 xn2 + a1x n + a 0 = yn
n
n
n
n 1 n

n
x0
xn
cuja matriz A= 1
...
n
xn

x0n 1
x1n 1
...
n 1
xn

... x0 1
... x1 1
. Prova-se que a soluo do sistema
... ... ...

... xn 1

anterior nica se det(A)0, ou seja, se os (n+1) pontos forem todos distintos.

Obteno frmula de Lagrange


Consideremos os seguintes (n+1) polinmios de grau n
p0 ( x) = ( x x1)( x x 2)...( x xn)
p ( x) = ( x x )( x x )...( x x )
1
n
0
2
,

...

p ( x) = ( x x )( x x )...( x x
n 1)
n
0
1

ou de forma abreviada
n

p ( x) = ( x x j )
i
j =0
j i

Os polinmios anteriores so tais que:


i.

pi(xi)0, i

ii. pi(xj)=0, ij.


Os polinmios anteriores chamamos polinmios de Lagrange.

(3)

Como o polinmio Pn que pretendemos determinar de grau n e contm os


pontos (xi, yi), i=0,...,n, podemos escrever Pn como combinao linear dos
polinmios anteriores, pn, i=0,...,n, ou seja,
n

bi pi ( x)

Pn ( x) =

(4)

i =0

Ento para determinar Pn(x) basta calcular os bi, i=0,...,n, j que os polinmios
pi(x) so facilmente calculveis. Tem-se ento que:
Pn(xk)=b0p0(xk)+b1p1(xk)+...+bkpk(xk)+...+bnpn(xk),

mas pk(xk)0 e pi(xk)=0 para i=1,...,k-1,k+1,...,n, ou seja,


P (x )
Pn(xk)=bkpk(xk) bk= n k
pk ( xk )

Como por hiptese Pn(xi)=yi, i=0,...,n, ento


bi=

yi
, i=0,...,n.
pi ( xi )

Substituindo o valor de bi em (4) obtemos:


Pn ( x) =

yi

i =0

pi ( x )
pi ( xi )

e por (3) conclumos que:


Pn ( x) =

yi

i =0

n (x x )
j

(x
j =0
j i

i xj )

que a frmula do polinmio interpolador de Lagrange.


Exemplo: Determinar o polinmio interpolador de Lagrange para a funo
conhecida pelos pontos
xi
0
0.2
0.4
0.5

yi
0
2.008
4.064
5.125

Como a funo conhecida em quatro pontos vamos construir um polinmio


de grau mximo, i.., grau trs,
P3 ( x) =

yi

i =0

3 (x x )
j

(x
j =0
j i

i xj )

P3 ( x) = y0

x x1 x x 2 x x3
x0 x1 x0 x 2 x0 x3

x x0 x x1 x x3
x x0 x x1 x x 2
x x 0 x x 2 x x3
+ y3

+ y2
1 x x x x x x

x
x

x
x
x
x

x
x

x
x
x
2
3
1
0 1
0 2
0 3
2
2 1
3
1 3
1 2
3

P3 ( x) = 2.008
+ 5.125

x x 0.2 x 0.4
x x 0.4 x 0.5
+ 4.064
+
0.2 0.2 0.4 0.2 0.5
0.4 0.4 0.2 0.4 0.5

x x 0.2 x 0.4
0.5 0.5 0.21 0.5 0.4

O polinmio interpolador : P3 ( x) = x3+10x.


Erro de truncatura
Tambm aqui o erro de truncatura dado por
ET( x )=f( x )-Pn( x ).
Seguindo um processo anlogo aos casos anteriores e tendo em ateno que Pn
interpola f em (n+1) pontos obtm-se:
ET ( x) = ( x x0)( x x1)...( x xn)

( n + 1)

( )
, x0<<xn.
(n + 1)!

De seguida vamos ver outras formas de construir o polinmio Pn.

4. Interpolao com diferenas divididas


H vrias formas de escrever o polinmio Pn, o polinmio interpolador de
Lagrange, nem sempre o mais conveniente. Vamos ver de seguida como
construir o polinmio interpolador de Newton, para tal comearemos por definir
o conceito de diferena dividida.

4.1. Conceito de diferena dividida


Seja f uma funo da qual se conhecem os (n+1) pontos (xi, yi), i=0,...,n.
A primeira derivada de f no ponto x0 definida por:
f ( x ) f ( x 0)
x x0 x x 0

f (x0)= Lim

A diferena dividida de primeira ordem define-se como sendo uma


aproximao da primeira derivada,
f[x, x0]=

f ( x ) f ( x 0)
x x0

(5)

Nota: As notaes de diferena dividida so: f[ , ], [ , ] e y.


Se em (5) fizermos x= x1 obtemos a diferena dividida de primeira ordem em
relao aos argumentos x0 e x1
1 y0 =f[x1, x0]=

f ( x1) f ( x0)
x1 x0

Note-se que
1 y0 =f[x1, x0]=

f ( x1) f ( x0) f ( x0) f ( x1)


=
= f[x0, x1],
x0 x1
x1 x0

ou seja, f[x0, x1]= f[x1, x0].


De um modo geral, define-se diferena dividida de primeira ordem em relao
aos argumentos xi, xi+1 como sendo:
1 yi =f[xi, xi+1]=

f ( xi + 1) f ( xi )
xi + 1 xi

se recordarmos que yi=f(xi) temos que


y
y
1 yi=f[xi, xi+1]= i + 1 i
xi + 1 xi
A diferena dividida de ordem zero definida com 0yi=f[xi]=f(xi)=yi.

Atendendo definio de diferena dividida de ordem zero, podemos escrever


as diferenas divididas de ordem um em funo das diferenas divididas de
ordem zero do seguinte modo:
f ( xi + 1) f ( xi ) f [xi + 1] f [xi ] 0 yi + 1 0 yi
yi=f[xi, xi+1]=
=
=
xi + 1 xi
xi + 1 xi
xi + 1 xi
1

Genericamente, a diferena dividida de ordem n dada por:


yi= f [xi , xi +1,..., xi + n ] =
n

f [xi + 1, xi + 2 ,..., xi + n] f [xi, xi + 1,..., xi + n 1]


=
xi + n xi

n 1yi + 1 n 1 yi
xi + n xi

que uma aproximao para a derivada de ordem n.


usual construir-se uma tabela, chamada tabela das diferenas divididas, onde
se colocam todos os valores anteriores.
xi
x0
x1
x2
...
xn

2yi

yi=yi=f(xi) yi

y0
y1
y2
...
yn

f[x0, x1]
f[x1, x2]
f[x2, x3]
...
f[xn-1, xn]

...

f[x0, x1,x2]
f[x1,x2, x3]
....
...
f[xn-2, xn-1,xn]

nyi
f[x0,...,xn]

Pela tabela anterior podemos concluir que:


i. Cada coluna construda custa da coluna anterior;
ii. Com (n+1) pontos podemos construir n diferenas divididas de primeira
ordem, (n-1) de segunda ordem e assim sucessivamente, at uma diferena
dividida de ordem n.
Exemplo: Dada a funo f pela tabela seguinte, construa a tabela das diferenas
divididas.
xi
0.3
1.5
2.1

yi
3.09
17.25
25.41

10

A tabela das diferenas dividas :


xi
0.3
1.5
2.1

yi=yi=f(xi)

yi

yi

3.09
17.25
25.41

11.8
13.6

onde,

1y0=

17.25 3.09
25.41 17.25
13.6 11.8
=11.8, 1y1=
=13.6 e 2y0=
=1.
2.1 1.5
2.1 0.3
1.5 0.3

Ainda acerca das diferenas divididas, vejamos o seguinte corolrio,


Corolrio: Se f uma funo polinomial de grau n, ento, todas as diferenas
divididas de ordem n so iguais a uma constante e as de ordem (n+1) so nulas.

4.2. Frmula de Newton para interpolao com diferenas


divididas
Consideremos os (n+1) pontos distintos (xi, yi), i=0,...,n, e Pn o polinmio
interpolador de grau n que contm esses pontos.
Pela definio de diferena dividida tem-se:

ento,
Pn(x)= Pn(x0)+(Pn[x0, x1]+Pn[x, x0, x1](x-x1))(x-x0)

11

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

Pn(x)=Pn(x0)+Pn[x0,x1](x-x0)+Pn[x0,x1,x2](x-x1)(x-x0)+Pn[x,x0,x1,x2](x-x2)
(x-x1)(x-x0).
Desenvolvendo Pn[x,x0,x1,x2] e aplicando um raciocnio anlogo ao anterior
obtemos:
Pn(x)=Pn(x0)+Pn[x0,x1](x-x0)+Pn[x0,x1,x2](x-x1)(x-x0)+Pn[x,x0,x1,x2](x-x2) (x-x1) (x-x0)
+...+Pn[x0,x1,...,xn](x-xn-1)...(x-x2)(x-x1)(x-x0)+Pn[x,x0,x1,...,xn](x-xn)(x-xn-1)...(x-x2)
(x-x1)(x-x0).
Como Pn de grau n, pelo corolrio anterior, conclumos que
Pn[x,x0,x1,...,xn]=0, alm disso, como Pn(x0)=y0 podemos escrever:
Pn(x)=y0+Pn[x0,x1](x-x0)+Pn[x0,x1,x2](x-x1)(x-x0)+Pn[x,x0,x1,x2](x-x2)(x-x1)
(x-x0)+...+Pn[x0,x1,...,xn](x-xn-1)...(x-x2)(x-x1)(x-x0)
Mas como iyi=Pn[x0,...,xi] podemos escrever o polinmio anterior do seguinte
modo:
Pn(x)=y0+ 1y0(x-x0)+ 2y0(x-x1)(x-x0)+ 3y0(x-x2)(x-x1)(x- x0) +
+ ny0(x-xn-1)...(x-x2)(x-x1)(x-x0)
ou ainda,

12

i 1

Pn(x)=y0+ y0 ( x x j)
i

i =1

j =0

que o polinmio interpolador de Newton para diferenas divididas.


Exemplo: Determinar o valor aproximado de f(0.4), usando todos os pontos
tabelados da funo f.
xi
yi
0.0
1.008
0.2
1.064
0.3
1.125
0.5
1.343
0.6
1.512
Vamos comear por construir a tabela das diferenas divididas.
xi
0.0
0.2
0.3
0.5
0.6

yi=yi=f(xi)

yi

yi

yi

yi

1.008
1.064
1.125
1.343
1.512

0.28
0.61
1.09
1.69

1.1
1.6
2

1
1

O polinmio interpolador de f :
P4(x)=y0+ 1y0(x-x0)+ 2y0(x-x1)(x-x0)+ 3y0(x-x2)(x-x1)(x-x0)+ 4y0(x-x0)
(x-x1)(x-x2)(x-x3)
ou seja, P4(x)=1.008+0.028x+1.1x(x-0.2)+x(x-0.2)(x-0.3)
ento f(0.4)P4(0.4)=1.216.
Erro de truncatura
A frmula do erro de truncatura para a interpolao de Newton a mesma do
que a cometida com a interpolao de Lagrange, tal deve-se ao facto de ambas
utilizarem polinmios do mesmo grau. Assim,
ET ( x) = ( x x0)( x x1)...( x xn)

13

( n + 1)

( )
, x0<<xn.
(n + 1)!

5. Interpolao com diferenas finitas


5.1. Conceito de diferena finita
Admitamos agora que os pontos xi so igualmente espaados, i.e., xi=xi-1+h,
i=1,...,n, sendo h uma constante que designamos por passo.
O facto de os pontos serem igualmente espaados deve ser aproveitado, pois
entre outras razes os clculos vm mais simplificados, o que nos leva a utilizar
outro operador.
Antes de definirmos diferena finita, consideremos uma varivel auxiliar, z,
dada por:
z=
ento

x x0
zh=x-x0
h

x-x1=x-(x0+h)=x-x0-h=zh-h=(z-1)h
x-x2=x-(x1+h)=x-x1-h=(z-1)h-h=(z-2)h

continuando o raciocnio anterior conclui-se que:


x-xn-1=x-(xn-2+h)=x-xn-2-h=(z-(n-2))h-h=(z-(n-2)-1)h=(z-(n-1))h
substituindo os valores anteriores em
Pn(x)=y0+ 1y0(x-x0)+ 2y0(x-x1)(x-x0)+ 3y0(x-x2)(x-x1)(x-x0)+...+

ny0(x-xn-1)...(x-x2)(x-x1)(x-x0)
Pn(x)=y0+zh 1y0+zh(z-1)h 2y0+zh(z-1)h(z-2)h 3y0+...+zh(z-1)h(z-2)h....
(z-(n-1))h ny0
Pn(x)=y0+zh 1y0+zh2(z-1) 2y0+z(z-1)(z-2)h3 3y0+...+z(z-1)(z-2)...
(z-(n-1))hn ny0

(6)
n

i 1

Pn(x)=y0+ h y0 ( z j ) ,
i =1

14

j =0

Trata-se do polinmio interpolador de Newton para pontos igualmente


espaados.
Vamos introduzir de seguida o conceito de diferena finita, vlido apenas
quando xi-xi-1=h, i=1,...,n,.
Define-se diferena finita de:
i. Ordem zero: 0yi=yi
ii. Ordem um: 1yi=yi+1-yi=0yi+1-0yi
iii. Ordem dois: 2yi=1yi+1-1yi
iv. Ordem n: nyi=n-1yi+1-n-1yi.
Exemplo: Construir a tabela das diferenas finitas para a funo dada pela
tabela:
xi
3.5
4.0
4.5
5.0
5.5

yi
9.82
10.91
12.05
13.14
16.19

A tabela das diferenas finitas


xi
3.5
4.0
4.5
5.0
5.5

0yi =yi=f(xi)
9.82
10.91
12.05
13.14
16.19

1yi
1.09
1.14
1.09
3.05

2yi
0.05
-0.05
1.96

15

3yi
-0.1
2.01

4yi
2.11

5.2. Frmula de Gregory-Newton para interpolao com diferenas


finitas
De seguida vamos enunciar um teorema que relaciona as diferenas divididas e
as diferenas finitas.
Teorema: seja f uma funo definida nos pontos (xi, yi), i=0,...,n, tais que xi+1n

yi
xi=h, i. Tem-se que: yi =
.
n! hn
n

y0
Tendo em considerao o teorema anterior se substituirmos y0 por
em
n! hn
n

(6) obtemos:
Pn(x)=y0+zh

2
3
y0
y 0
3 y0
+zh2(z-1)
+z(z-1)(z-2)h
2
3 +...+z(z-1)(z-2)...
3!h
h
2! h

n
y0
(z-(n-1))h
n
n! h
n

Pn(x)=y0+z y0 +z(z-1)

n
2
3
y0
y0
y0
+z(z-1)(z-2)
+...+z(z-1)(z-2)...(z-(n-1))
3!
2!
n!

ou de forma condensada
n iy i 1
Pn(x)=y0+ 0 ( z j )
i =1 i! j =0

que a frmula de Gregory-Newton para diferenas finitas.


Mostra-se de modo anlogo que o erro de truncatura dado por:
n +1

ET ( z ) = h

z ( z 1)( z 2)...( z n)

( n + 1)

( )
, x0<<xn.
(n + 1)!

Exemplo: Dada a funo f, conhecida nos pontos abaixo tabelados, calcule um


valor aproximado para f(0.25).

16

xi
0.1
0.2
0.3
0.4
0.5

yi
0.125
0.064
0.027
0.008
0.001

Vamos comear por construir a tabela das diferenas finitas.


xi
0.1
0.2
0.3
0.4
0.5

yi=yi=f(xi)

0.125
0.064
0.027
0.008
0.001

yi

-0.061
-0.037
-0.019
-0.007

yi

0.024
0.018
0.012

yi

-0.006
-0.006

yi

De seguida vamos construir um polinmio interpolador de f de grau mximo.


4
2
3
y0
y0
y0
P4(x)=y0+z y0 +z(z-1)
+z(z-1)(z-2)
+z(z-1)(z-2)(z-3)
3!
4!
2!

ou seja, P4(x)=0.125-0.061z+0.024z(z-1)-0.006z(z-1)(z-2),
com z=

x x0 x 0.1
= 10 x 1 , donde
=
0.1
h

P4(x)=0.125-0.061(10x-1)+0.024(10x-1)(10x-2)-0.006(10x-1)(10x-2)(10x-3).
Ento f(0.25)P4(0.25)=0.043.

6. Interpolao de Hermite
Supondo que f duas vezes diferencivel, sabe-se que um zero, xi , de f se diz
de multiplicidade dois se f(xi)=0, f (xi)=0 e f(xi)0. Diremos que duas funes
f e g 2-osculam (osculam 2-vezes) um ponto xi, se xi zero de multiplicidade 2

da funo (f-g)(x), isto ,


f(xi)=g(xi)
f (xi)=g (xi)
f (xi)g(xi).

17

Tal comportamento significa que g interpola f e g interpola f em x=xi. Nestes


casos falamos de interpolao osculatria ou repetida ou de Hermite. Por
exemplo, bem conhecido um polinmio (n+1)-osculador de f(x) no ponto x=0
o polinmio de Mclaurin de f:
pn ( x) = f (0) + f ' (0) x + ... +

f ( n ) ( 0) n
x
n!

Com efeito,
pn(0)=f(0)
pn(0)=f (0)
....
pn(n) (0)=f(n)(0)
pn(n+1) (0)f(n+1)(0).
Consideremos ento um suporte (xi,yi), i=0,...,n, xixj para ij, e um polinmio
dito polinmio interpolador de Hermite, H2n+1(x) verificando as 2(n+1)
condies seguintes:
H2n+1(xi)=f(xi)
H 2n+1(xi)=f (xi)
Mostra-se que este polinmio de grau menor ou igual a 2n+1 existe e nico.
Vejamos como construir H2n+1 de uma forma que generaliza o polinmio
interpolador de Newton nas diferenas divididas. Consideremos os 2n+2 pontos
z0, z1,z2,...,z2n, z2n+1
e o polinmio interpolador de Newton

p 2 n +1 ( x) = f ( z 0 ) + ( x z 0 ) f [z 0 , z1 ] + ( x z 0 )( x z1 ) f [z 0 , z1 , z 2 ] +

+ ... + ( x z 0 )( x z1 )...( x z 2 n ) f [z 0 , z1 ,..., z 2 n +1 ]

(7)

Recorrendo ao artifcio de considerar cada xi igual a um par de zs


consecutivos, supostos iguais, ou seja, fazendo
z0=z1=x0

18

z2=z3=x1
...
z2n=z2n+1=xn
ento a frmula (1) passa a escrever-se

p 2 n +1 ( x ) = f ( x 0 ) + ( x x 0 ) f [x 0 , x 0 ] + ( x x 0 ) 2 f [x 0 , x 0 , x1 ] + ( x x 0 ) 2 ( x x1 )

f [x 0 , x 0 , x1 , x1 ] + +... + ( x x 0 ) 2 ( x x1 ) 2 ...( x x n 1 ) 2 ( x x n ) f [x 0 , x 0 ,..., xn , x n ]

(8)
De facto, podemos generalizar a definio de diferenas divididas de modo a
dar significado frmula anterior: assim,
f ( x) f ( xi )
= f ' ( xi )
x xi
x xi

f [xi , xi ] = Lim f [x, xi ] = Lim


x xi

f [x0 , x0, x1 ] =

f [x0 , x1] f ' ( x0 )


,
x1 x0

f [x0 , x1, x1] f [x0 , x0 , x1]


,...
x1 x0

f [x0 , x0, x1, x1 ] =

Doutro modo, o resultado obtido em (8) poderia obter-se fazendo o limite em


(7) quando z0,z1x0, z2,z3x1,..., z2n,z2n+1xn.
Para o polinmio cbico de Hermite (n=2) as relaes anteriores indicam que
podemos estabelecer uma tabela com a seguinte configurao
x
xi
xi
xi+1
xi+1

f
fi
fi
fi+1
fi+1

1as. difs
f i
f[xi,xi+1]
f i+1

2as. difs
f[xi,xi,xi+1]
f[xi,xi+1,xi+1]

3as. difs
f[xi,xi,xi+1,xi+1]

Exemplo: Determinar um valor aproximado de ln(1.5) sabendo que

x
ln(x)
1
x

1
0
1

2
0.693147
0.5

Tem-se que

19

x
x0=1
x0=1
x1=2
x1=2

f
0
0
0.693147
0.693147

D2
-0.306853
-0.193147

D
1=f (1)
0.693147
0.5=f (2)

D3
0.113706

Tendo-se que o polinmio de Hermite de grau trs :


H3(x)=(x-1)-0.306853(x-1)2+0.113706(x-1)2(x-2)

7. Interpolao com Splines


Na seco anterior, foram utilizados polinmios de ordem n para interpolar
entre os (n+1) pontos conhecidos. Por exemplo, com oito pontos pode-se
construir um polinmio de grau sete. Este polinmio ter um comportamento que
se adequar aos pontos conhecidos. No entanto, existem casos em que estas
funes conduzem a resultados errneos. Uma aproximao alternativa consiste
em ajustar polinmios de ordem mais baixa a subconjuntos dos dados. Tais
polinmios de ligao so chamados funes splines.
Polinmios de ordem superior pela sua regularidade tendem a no captar as
alteraes bruscas no comportamento da funo, ao contrrio dos splines. Assim,
os splines conseguem uma melhor aproximao para as funes que tenham
mudanas bruscas locais.

7.1. Splines Lineares


A ligao mais simples entre dois pontos uma linha recta. O spline de
primeira ordem, para um grupo de dados ordenados, pode ser definido como o
conjunto de funes lineares:
f ( x) = f ( x0 ) + m0 ( x x0 ),

x 0 x x1

f ( x) = f ( x1) + m1( x x1),

x1 x x 2

...
f ( x) = f ( xn 1) + mn 1( x xn 1),

20

x n -1 x x n

onde mi o declive da recta que une os pontos


mi =

f ( xi +1) f ( xi )
xi +1 xi

Estas equaes podem ser usadas para avaliar o valor da funo em qualquer
ponto entre x0 e xn, bastando para tal localizar o intervalo em que o ponto cai. De
seguida, a equao apropriada usada para determinar o valor da funo nesse
intervalo. Este mtodo muito idntico interpolao linear.
Uma das grandes desvantagens deste mtodo reside no facto de ele no ser
suave. No ponto onde dois splines se encontram (chamado n), o declive muda
abruptamente. Ou seja, a primeira derivada da funo descontnua nestes
pontos. Esta desvantagem superada utilizando splines de ordem superior que
assegurem a suavidade nos ns e que entram com o valor da derivada nestes
pontos.

7.2. Splines Quadrticos


Para garantir que as derivadas de ordem m sejam contnuas nos ns, tm de ser
utilizados splines com ordem pelo menos m+1. Polinmios de terceira ordem ou
splines cbicos garantem a continuidade das derivadas de primeira e segunda
ordem e so muito utilizados na prtica.
Vamos ilustrar o conceito de interpolao com splines utilizando polinmios
de segunda ordem. Estes splines quadrticos tm primeira derivada contnua
nos ns. Embora splines quadrticos no garantam segundas derivadas iguais nos
ns, servem para demonstrar o procedimento geral para desenvolver splines de
ordens superiores.
O objectivo nos splines quadrticos arranjar um polinmio de segunda ordem
para cada intervalo entre valores. O polinmio para cada intervalo pode ser
representado de um modo geral por
fi(x)=aix2+bix+ci.

21

i=1,...,n

Com n+1 pontos tem-se n intervalos e consequentemente 3n constantes


desconhecidas. Como tal so necessrias 3n equaes para calcular as constantes
desconhecidas. Estas so:
1. O valor das funes tem que ser igual nos ns, i..,
fi(xi)= aix2i+bixi+ci=f(xi)
fi+1(xi)=ai+1x2i+bi+1xi+ci+1=f(xi)

i=1,...,n-1

Como s os ns interiores so utilizados temos n-1+n-1=2n-2 condies.


2. A primeira e a ltima funo tm que passar nos ns finais.
f1(x0)=a1x20+b1x0+c1=f(x0)
fn(xn)=anx2n+bnxn+cn=f(xn)
Temos ento mais duas condies.
3. A primeira derivada nos ns interiores tem de ser igual.
f (x)=2ax+b
fi (xi)=2aixi+bi= 2ai+1xi+bi+1= fi+1 (xi) i=1,...,n-1
Temos ento mais n-1 condies.
At agora temos 2n-2+2+n-1=3n-1 condies. Como temos 3n constantes
desconhecidas temos que arranjar mais uma condio. Se no tivermos mais
nenhuma informao adicional sobre as funes e as suas derivadas, temos que
fazer uma escolha arbitrria para calcular as constantes. Apesar das escolhas
que podem ser feitas serem inmeras, por simplicidade:
4. Assumimos que a segunda derivada da primeira funo zero. Como
f1(x)=2a1 ento a1=0. Esta condio pode ser interpretada graficamente
como, os dois primeiros pontos so ligados por uma linha recta.
Exemplo:
Ajustar um spline quadrtico aos dados da tabela seguinte e usar o resultado
para estimar o valor em x=5.

22

x
3.0
4.5
7.0
9.0

f(x)
2.5
1.0
2.5
0.5

Temos n=3 intervalos, como tal vamos ter 3n=9 condies que so:
20.25a1 + 4.5b1 + c1 = 1.0
20.25a + 4.5b + c = 1.0
2
2
2

49a2 + 7b2 + c2 = 2.5

49a3 + 7b3 + c3 = 2.5

9a1 + 3b1 + c1 = 2.5


81a + 9b + c = 0.5
3
3
3
2 4.5a1 + b1 = 2 4.5a2 + b2

2 7 a2 + b2 = 2 7a3 + b3
a1 = 0
Como a1=0 o problema resume-se a resolver oito equaes simultaneamente.
Em forma de matriz temos:

4.5
0.0

0.0

0.0
3.0

0.0
1.0

0.0

1.0

0.0

0.0

0.0

0.0 20.25

4.5

1.0

0.0

49.0

7.0

1.0

0.0

0.0

0.0

0.0

1.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

9.0

1.0 0.0

0.0

14.0

1.0

0.0

0.0 b1 1.0
0.0
0.0 0.0 c1 1.0

0.0
0.0 0.0 a2 2.5

49.0
7.0 1.0 b2 2.5
=

0.0
0.0 0.0 c2 2.5

81.0
9.0 1.0 a3 0.5
0.0
0.0 0.0 b2 0.0

14.0 1.0 0.0 c3 0.0
0.0

0.0

Resolvendo o sistema anterior obtm-se


a1=0, b1= -1, c1=5.5, a2=0.64, b2= -6.76, c2=18.46, a3= -1.6, b3=24.6, c3= -91.3
Temos ento os splines quadrticos: f1(x)=-x+5.5
f2(x)=0.64x2-6.76x+18.46
f3(x)=-1.6x2+24.6x-91.3
Temos ento que f2(5)=0.6425-6.765+18.46=0.66.

23

3.0 x 4.5
4.5 x 7.0
7.0 x 9.0

Você também pode gostar