Sei sulla pagina 1di 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 Pn(xi)=f(xi) i=0,...,n (1) (2) tal que nos pontos conhecidos Pn(x) coincida com a funo f(x), i.., que satisfaa:

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 : P (0) = 1.35 a = 1.35 a 0 + a 0 = 1.35 1 0 1 P (1) = 2.94 a1 = 1.59 a1 1 + a 0 = 2.94 1 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= O erro de truncatura ento dado por: ET(x)=(x-x0)(x-x1)
f ' ' ( ) , com (x0, x1) 2

f ' ' ( ) 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 P (1) = 0.84 1 1 0 0 P (2) = 0.91 a1 2 + a0 = 0.91 a1 = 0.07 1

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


2 2

O erro de truncatura dado por: ET( )=( -1)( -2)


2 2 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
P ( x0) = y0 a2 2 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 x2 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 Pn(x)=anx +an-1x +...+a2x +a1x+a0= aix i ,
n n-1 2

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 n 1 + ... + a x 2 + a x + a = y x n 1 2 1 11 0 1 , 1 n1 n 1 1 .... .... Pn ( x ) = y anx n + a x n 1 + ... + a xn2 + a1x n + a 0 = yn n 2 n n n 1 n

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

n x0 1 n x1 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 n 1) 0 1

ou de forma abreviada
p ( x) = ( x x j ) i
j =0 j i n

(3)

Os polinmios anteriores so tais que: i. pi(xi)0, i ii. pi(xj)=0, ij. Os polinmios anteriores chamamos polinmios de Lagrange.

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,
Pn ( x) =

i =0

bi pi ( x)

(4)

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

i =0

yi

pi ( x ) pi ( xi )

e por (3) conclumos que:


P ( x) = n

i =0

yi

(x
j =0 j i

n (x x ) j 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) =
3 3 (x x ) j i xj )

i =0

yi

(x
j =0 j i

P ( x) = y0 3

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 2 x0 x2 x1 x 2 x3 x3 x0 x3 x1 x3 x 2 1 0 1 2 1 3 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

P ( x) = 2.008 3 + 5.125

x x 0.2 x 0.4 0.5 0.5 0.21 0.5 0.4

O polinmio interpolador : P ( x) = x3+10x. 3 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) f ( ) , x0<<xn. (n + 1)!
( 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 (x0)= Lim f ( x ) f ( x 0) x x0 x x 0

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]= Note-se que 1 y0 =f[x1, x0]= f ( x1) f ( x0) f ( x0) f ( x1) = = f[x0, x1], x0 x1 x1 x0 f ( x1) f ( x0) 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]= 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. f ( xi + 1) f ( xi ) xi + 1 xi

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
yi=yi=f(xi) yi
0 1

2yi

...

nyi
f[x0,...,xn]

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]

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 onde,


yi=yi=f(xi)
0

yi

yi

3.09 17.25 25.41

11.8 13.6

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

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

i 1

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

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) f ( ) , x0<<xn. (n + 1)!
( n + 1)

13

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 Pn(x)=y0+ h y0 ( z j ) ,
i i i =1 j =0 n i 1

(6)

14

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 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 3yi -0.1 2.01 4yi 2.11 yi 9.82 10.91 12.05 13.14 16.19

15

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+1-

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 y0 +zh2(z-1) +z(z-1)(z-2)h3 3 +...+z(z-1)(z-2)... 2 3!h h 2! h
n

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

Pn(x)=y0+z y0 +z(z-1) ou de forma condensada

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

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:
ET ( z ) = h
n +1 ( n + 1)

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

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

yi

yi

yi

yi

0.125 0.064 0.027 0.008 0.001

-0.061 -0.037 -0.019 -0.007

0.024 0.018 0.012

-0.006 -0.006

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 + ... + 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 f ( n ) ( 0) n x n!

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

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 ] +

(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 ) (8) De facto, podemos generalizar a definio de diferenas divididas de modo a dar significado frmula anterior: assim, f [xi , xi ] = Lim f [x, xi ] = Lim
x xi

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 ]

f ( x) f ( xi ) = f ' ( xi ) x xi x xi

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

f [x0 , x1] f ' ( x0 ) , x1 x0

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

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

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

D2 -0.306853 -0.193147

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 ), f ( x) = f ( x1) + m1( x x1), ... f ( x) = f ( xn 1) + mn 1( x xn 1), x n -1 x x n x 0 x x1 x1 x x 2

20

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. i=1,...,n

21

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 1.0 0.0 0.0 0.0

0.0 49.0 0.0 0.0 0.0 9.0 14.0

0.0 4.5 7.0 0.0 0.0 0.0 1.0

0.0 1.0 1.0 0.0 0.0 0.0 0.0

0.0 20.25

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. 3.0 x 4.5 4.5 x 7.0 7.0 x 9.0

23

Potrebbero piacerti anche