Você está na página 1de 20

1

Captulo VI Interpolao polinomial

Aula 16. Interpolao de Lagrange


Dados os valores de uma funo f e das suas derivadas num ponto x0 , o polinmio de Taylor representa a aproximao de uma funo f numa vizinhana desse ponto. Similarmente, a interpolao uma tcnica matemtica que nos fornece aproximaes de valores desconhecidos. Por exemplo, o processo trivial de juntar um conjunto de pontos por linhas chamado de interpolao. Neste captulo vamos ver como se aproxima uma funo f por um polinmio pn num intervalo [a, b] a partir de valores da funo que nos so fornecidos em determinados pontos.

(x1 , f (x1 )) existe apenas uma recta que passa pelos dois pontos. A forma geral da recta y = ax + b, a, b constantes
(5)

A interpolao requer que a funo interpoladora coincida com o valor da funo a aproximar nos pontos dados. Por exemplo, no caso anterior nos pontos (x0 , f (x0 )) e (x1 , f (x1 )). Substituindo estas coordenadas na equao (5) e fazendo f0 = f (x0 ) e f1 = f (x1 ) temos

Formas polinomiais Denio: Um polinmio de grau n a combinao


linear dos monmios 1, x, . . . , xn isto
n n

f0 = a + bx0 f1 = a + bx1
Resolvendo o sistema temos

b=

f1 f0 x1 x0

a = f0 x0 b.

pn (x) = a0 + a1 x + + an x =
k=0

ak xk .

(1)

Assim p1 a interpolao polinomial linear tal que

O polinmio anterior pode ainda ser reescrito como


n

p1 (x) = a+bx = f0 +b(xx0 ) = f0 +

f1 f0 x1 x0

(xx0 ).

pn (x) = b0 + b1 (x c) + + bn (x c)n =
k=0

bk (x c)k .

(2) Ao parmetro c chama-se centro do polinmio. As duas expresses so diferentes mas representam o mesmo polinmio. O que so os coecientes bk na equao (2)? (k) pn (c) fcil de vericar que bk = . Portanto (2) k! pode ser escrito como

Substituindo os valores x = x0 e x = x1 fcil vericar que p1 (x0 ) = f0 e p1 (x1 ) = f1 . p1 (x) pode ento ser usado para aproximar valores de f num ponto x pertencente ao intervalo x0 < x < x1 .

Exemplo: Se log10 3 = 0.4771 e log10 4 = 0.6021 utilize a interpolao linear para aproximar log10 3.4. Aqui x0 = 3 e x1 = 4, f0 = 0.4771 e f1 = 0.6021. Ento,
log10 x p1 (x) = 0.4771 +
Em x = 3.4 temos

0.6021 0.4771 43 = 0.4771 + 0.125(x 3)

(x 3)

pn (x) = pn (c) + pn (c)(x c) +


(n)

pn (c) (x c)2 2!

pn (c) (x c)n (3) n! A equao (3) o polinmio de Taylor de grau n para o polinmio pn . A equao (2) pode ser generalizada escolhendo n centros c1 , c2 , . . . , cn . + + pn (x) = d0 + d1 (x c1 ) + d2 (x c1 )(x c2 ) + . . . +dn (x c1 ) . . . (x cn )
n k

log10 3.4 p1 (3.4) = 0.4771 + 0.125(4 3) = 0.5271


O valor exacto 0.5315 usando uma preciso de 4 casas decimais. A necessidade de x1 = x0 bvia. O sistema nico se o determinante da matriz dos coecientes no-nulo, isto , 1 x0 = 0 = x1 = x0 1 x1 Assim a, b existem e so nicos se a condio acima satisfeita. O facto de os pontos serem distintos implica portanto a unicidade de p1 .

= d0 +
k=1

dk

(x cj ).
j=1

(4)

e denominada de frmula de Newton. Se c1 = c2 = = cn = c camos na forma (2). Se c1 = c2 = = cn = 0 camos na forma (1).

Interpolao quadrtica
Queremos um polinmio nico que passa por trs pontos distintos (x0 , f (x0 )), (x1 , f (x1 )) e (x2 , f (x2 )). Aplicando as condies de interpolao forma quadrtica y = a + bx + cx2

Interpolao linear
A interpolao linear a forma mais simples de interpolao. Dados dois pontos no plano (x0 , f (x0 )) e

obtemos 3 equaes

x0 : a + bx0 + cx2 = f0 = f (x0 ) 0 x1 : a + bx1 + cx2 = f1 = f (x1 ) 1 x2 : a + bx2 + cx2 = f2 = f (x2 ) 2


O sistema tem soluo nica [a b c]T se o determinante da matriz dos coecientes no-nula, isto ,

Os polinmios {li }n formam uma base de Pn . Como i=0 consequncia, o polinmio interpolador existe e tem a seguinte forma
n

pn (x) =
i=0

fi li (x).

1 x0 x2 0 1 x1 x2 = 0 = (x2 x1 )(x2 x0 )(x1 x0 ) = 0 1 1 x2 x2 2


Portanto no podem existir dois pontos iguais. Temos

1 f2 f0 f1 f0 x2 x1 x2 x0 x1 x0 f1 f0 c(x1 + x0 ) b= x1 x0 a = f0 bx0 cx2 0 c=


E se quisermos fazer uma interpolao de ordem n?

Esta forma denominada forma de Lagrange ou polinmio interpolador de Lagrande de grau n e os polinmios li so denominados polinmios de Lagrange. Para provar a unicidade, suponhamos que existe um polinmio p de grau m n tal que p (xi ) = fi , i = m m 0, . . . , n. Ento a diferena p pn anula-se nos n + 1 m pontos distintos xi e portanto coincide com o polinmio nulo

d(xi ) = p (xi ) pn (xi ) = fi fi = 0. m


Existe apenas um polinmio em Pn com este nmero de zeros, n + 1 zeros, isto , d(x) = 0. Ento p = pn . m

Exemplo: Para os dados abaixo obtenha uma interpolao polinomial quadrtica e use-a para aproximar o valor de f (0.5).
x f (x)
1 0 -1 -2 2 3
n

Interpolao de Lagrange
Dados n + 1 pares (xi , fi ), queremos encontrar um polinmio, denominado polinmio interpolador, tal que

Polinmios de Lagrange quadrticos

pm (xi ) = am xm + + a1 xi + a0 = fi i
e pm (xi ) Pn onde Pn denota o conjunto de todos os polinmios de grau m n Os pontos xi so denominados de nodos ou pontos de interpolao. Consideremos n = m. Temos o seguinte teorema: Temos

lk (x) =
i=0,i=k

x xi , xk xi

k = 0, . . . n

l0 (x) =

Teorema: Dados n + 1 pontos distintos x0 , . . . , xn e n + 1 valores correspondentes f0 , . . . , fn , ento existe um polinmio nico pn Pn tal que pn (xi ) = fi , i = 0, . . . n. Demonstrao: Para provar a existncia, vamos fazer uma demonstrao construtiva, dando uma expresso para pn . Denotemos por {li }n uma base para Pn . i=0 Ento pn admite uma representao nessa base da forma
n

(x x1 )(x x2 ) (x + 1)(x 2) = (x0 x1 )(x0 x2 ) 2(1) x2 + x + 2 = 2 (x x0 )(x x2 ) (x 1)(x 2) = (x1 x0 )(x1 x2 ) 2(3) x2 3x + 2 = 6

l1 (x) =

l2 (x) =

pn (x) =
i=0

bi li (x)
2

(x x0 )(x x1 ) (x 1)(x + 1) = (x2 x0 )(x2 x1 ) 1(3) x2 1 = 3

A interpolao quadrtica assim dada por

com a propriedade
n

p2 (x) = bi li (xj ) = fj , j = 0, . . . , n =
k=0 2

lk (x)fk = 0l0 (x) 2l1 (x) + 3l2 (x) 2x + 3x 5 3

pn (xj ) =
i=0

Se denirmos
n

li Pn : li (x) =
j=0,j=i

x xj , xi xj

fcil vericar que p2 (x) passa pelos pontos dados. Em x = 0.5, f (0.5) p2 (0.5) = 1

i = 0, . . . , n

ento li (xj ) = ij e obtemos que bj = fj .

Nota: A ordem dos pontos no importante. Uma ordem ascendente ou descendente simplesmente torna o conjunto {x0 , . . . xn } mais legvel.

Erro da interpolao de Lagrange


Vamos estimar o erro de interpolao associado ao polinmio pn interpolador da funo f nos pontos x0 , . . . , xn .

que nos d precisamente

f (x) = pn (x) +

n i=0 (x

xi ) (n+1) f (). (n + 1)!

Teorema: Sejam x0 , . . . , xn , n + 1 pontos distintos pertencentes a [a, b] e seja f C n+1 [a, b]. Se x [a, b] ento f (x) = pn (x) + en (x),
onde pn (x) o polinmio interpolador dado por
n

Um limite superior do erro dado por

|en (x)| = |f (x) pn (x)| |(x x0 ) . . . (x xn )|


onde Mn+1 = max |f (n+1) (x)|,

Mn+1 (n + 1)!

x0 < x < xn

pn (x) =
k=0

f (xk )lk (x)

e en (x) o erro que tem a forma

en (x) =

(x x0 )(x x1 ) . . . (x xn ) (n+1) f (), (n + 1)!

para algum = (x) [a, b]. Podemos ainda escrever o erro na forma

en (x) = n+1 (x)


n

f (n+1) () . (n + 1)!

com n+1 (x) =


i=0

(x xi ).

Demontrao: Seja x = xi , para i = 0, . . . , n uma vez que para xi o erro nulo. Fixemos ento x [a, b] e denamos uma funo F na varivel t tal que
F (t) = f (t) pn (t) f (x) pn (x) (t xi ). n i=0 (x xi ) i=0
n

Obviamente F C n+1 [a, b]. Temos que F (xi ) = 0, i = 0, . . . , n e F (x) = 0. Ento F tem n + 2 zeros distintos em [a, b]. Usando o Teorema de Rolle conclumos sucessivamente que F tem pelo menos n + 1 zeros em (a, b) F tem pelo menos n zeros em (a, b) F (3) tem pelo menos n 1 zeros em (a, b) ... ... ... ... ... ... F (n+1) tem pelo menos 1 zero em (a, b). Note que todas as derivadas de F at ordem n + 1 so funes contnuas. Denotemos = (x) o zero de F (n+1) cuja existncia acabamos de provar. Note que depende de x e pertence ao intervalo (a, b). Derivando F n + 1 vezes em ordem a t temos

F (n+1) (t) = f (n+1) (t) 0


Fazendo t = ,

f (x) pn (x) (n + 1)! n i=0 (x xi )

0 = F (n+1) () = f (n+1) ()

f (x) pn (x) (n + 1)! n i=0 (x xi )

Aula 17. Diferenas divididas: mtodo de Newton Diferenas divididas


A interpolao polinomial de Lagrange nem sempre a frmula ideal para o clculo de um polinmio. Nesta aula o objectivo principal o desenvolvimento de frmulas ecientes de interpolao polinomial que nos do o polinmio nico pn fazendo o seguinte: (a) Simplicando a construo (b) Reduzindo o esforo computacional requerido para o clculo do valor do polinmio. Sabemos que

xi x0 x1 x2 . . .

f (xi ) f (x0 ) f (x1 ) f (x2 ) . . .

f [xi , xi+1 ] f [x0 , x1 ] f [x1 , x2 ]


. . .

f [xi , xi+1 , xi+2 ] f [x0 , x1 , x2 ] f [x1 , x2 , x3 ]


. . .

xn1 xn

f (xn1 ) f (xn )

f [xn1 , xn ]

f [xn2 , xn1 , xn ]

As diferenas divididas de ordem superior so recursivamente dadas por

f (x) = lim

h0

f (x + h) f (x) . h

f [x0 , x1 , . . . , xk1 , xk ] =

f [x1 , . . . , xk ] f [x0 , . . . , xk1 ] , xk x0

f (x + h) f (x) o declive da recta h que passa por (x, f (x)) e (x + h, f (x + h)).


O quociente Considerando o conjunto de pontos (x0 , f (x0 )), . . . , (xn , f (xn )) temos que

para k = 1, . . . , n. Por razes de consistncia o valor da funo f (xi ) = f [xi ] denido como a diferena dividida de ordem zero de f em x = xi .

Frmula de Newton das diferenas divididas


Vamos agora usar as diferenas divididas para escrever o polinmio interpolador de Lagrange numa forma mais eciente. Relembre-se que o interpolador nico e o objectivo apenas o de reoordenar a frmula.

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


uma aproximao do declive de f em x = xi . Os n+1 valores da funo denem n diferenas de primeira ordem, f [x0 , x1 ], . . . f [xn1 , xn ] que aproximam f (x0 ), . . . , f (xn1 ), isto

Polinmio interpolador constante


O polinmio p0 (x) = f0 pode ser escrito como

xi x0 x1 x2 . . .

f (xi ) f (x0 ) f (x1 ) f (x2 ) . . .

f [xi , xi+1 ] f [x0 , x1 ] f [x1 , x2 ]


. . .

p0 (x) = f [x0 ]

Polinmio interpolador linear


O polinmio x x1 x x0 p1 (x) = f0 + f1 x0 x1 x1 x0 f1 f0 (x x0 ) = f0 + x1 x0 pode ser escrito como

xn1 xn

f (xn1 ) f (xn )

f [xn1 , xn ]

Os valore f [xi , xi+1 ] so obtidos atravs dos 2 valores da esquerda nas colunas xi e f (xi ). As diferenas divididas de segunda ordem de f em x = xi so a diferena das duas diferenas divididas de primeira ordem.

p1 (x) = f [x0 ] + f [x0 , x1 ](x x0 )

Polinmio interpolador quadrtico


Neste caso pode ser escrito como

f [xi , xi+1 , xi+2 ] =

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

p2 (x) = f [x0 ]+f [x0 , x1 ](xx0 )+f [x0 , x1 , x2 ](xx0 )(xx1 )


A primeira vantagem j evidente. Das equaes anteriores vemos que

Os n + 1 valores f0 , . . . fn do origem a n 1 diferenas divididas de segunda ordem de f [x0 , x1 , x2 ] a f [xn2 , xn1 , xn ] adicionando uma coluna tabela anterior, isto ,

p1 (x) = p0 (x) + f [x0 , x1 ](x x0 ) p2 (x) = p1 (x) + f [x0 , x1 , x2 ](x x0 )(x x1 )

isto , o polinmio interpolador de graun n usa o polinmio de grau n 1

Pontos equidistantes: operadores e tabelas de diferenas


Muitas vezes os pontos de interpolao x0 , x1 , . . . , xn so espaados por um tamanho de intervalo xo, denotado por h, isto ,

pn (x) = pn1 (x) + f [x0 , . . . , xn ](x x0 ) . . . (x xn1 ) (6) Uma caracterstica signicativa desta frmula a facilidade de incluir um ponto extra (xn+1 , fn+1 ) onde xn+1 {x0 , . . . xn }. / Expandindo (6), o polinmio interpolador pode ser escrito na forma pn (x) = f [x0 ] + f [x0 , x1 ](x x0 ) + + f [x0 , . . . , xn ](x x0 ) . . . (x xn1 )
ou seja
n k1

h = xi xi1 ,

i = 1, . . . , n

Qual ser a vantagem de fazer uma interpolao com os pontos equidistantes?

Operador de diferenas progressivas:


As diferenas de que vamos falar so semelhantes s diferenas divididas mas funcionam com nodos equidistantes. Denamos o o operador de diferenas progressivas, . denido por

pn (x) = f [x0 ] +
k=1

f [x0 , . . . , xk ]
i=0

(x xi ).

vididas.

Esta a frmula de Newton das diferenas di-

Vantagens sobre a frmula de Lagrange 1 - Ilustra a facilidade de incluir um ponto extra 2- O factor x x0 comum a todos os termos excepto o segundo e assim sucessivamente pelo que mais eciente a sua implementao.

0 f (x) = f (x) 1 f (x) = f (x) = f (x + h) f (x) 2 f (x) = (f (x)) = (f (x + h) f (x)) = f (x + 2h) 2f (x + h) + f (x) k f (x) = (k1 f (x)) = k1 (f (x)) = k1 (f (x + h) f (x)) = k1 f (x + h) k1 f (x) k representado na tabela x x0 f (x) f (x0 ) f (x1 ) f (x1 ) x2 . . . f (x2 ) . . .
. . .

pn (x) = f [x0 ] + (x x0 ){f [x0 , x1 ] + + f [x0 , . . . , xn ](x x1 ) . . . (x xn1 )}

f (x) f (x0 )

2 f (x) 2 f (x0 ) f (x1 ) 2 f (xn2 )


2

3 f (x)

Frmula do erro usando diferenas divididas


Consideremos os pontos de interpolao x0 , . . . , xn e seja pn (x) o polinmio interpolador de f . Seja x um ponto tal que x {x0 , . . . , xn }. Fazendo xn+1 = x denotamos pn+1 (x) o polinmio interpolador de f em x0 , . . . xn , xn+1 . Usando a frmula de Newton das diferenas divididas, temos

x1

3 f (x0 )

xn1 xn

f (xn1 ) f (xn )

f (xn1 )

pn+1 (x) = pn (x) + (x x0 ) . . . (x xn )f [x0 , . . . , xn , x].


Como pn+1 (x) = f (x) obtemos a frmula

d origem seguinte tabela

Exemplo: O polinmio p3 (x) = x3 6x2 + 11x 3


x 2 4 6 8 10 p3 (x) 3 9 54 63 150 213 294 507 144 96 48 p3 (x) 6 48 48 2 p3 (x) 3 p3 (x)

En (x) = f (x) pn (x) = pn+1 (x) pn (x) = f [x0 , . . . , xn , x](x x0 ) . . . (x xn )} = n+1 (x)f [x0 , . . . , xn , x]
Assumindo que f C (n+1) ([a, b]) e comparando com o erro que obtivemos para a frmula de Lagrange temos

f (n+1) () f [x0 , . . . , xn , x] = , (n + 1)!


para um [a, b]. Isto relembra o resto da Srie de Taylor de f .

Observamos pela tabela que as diferenas de terceira ordem so iguais e as diferenas de ordem superior so nulas. Este facto pode ser usado para calcular o valor de p3 (x) em outros pontos equisistantes, trabalhando a

tabela da direita para a esquerda criando diagonais adicionais. Por exemplo, para calcular p3 (12) seguimos os seguintes passos:

x 2 4 6 8 10 12

p3 (x) 3 9

p3 (x) 6

2 p3 (x) 48

3 p3 (x)

54 63 150 213 294 507 486 993


Assim p3 (12) = 993.

48 96 48 144 48 192

A tabela das diferenas que representa diferenas iguais na coluna n sugere que a funo representada pelos pontos dados um polinmio de grau n (a derivada de ordem n de um polinmio de grau n constante). O polinmio interpolador para pontos equidistantes ser dado em seguida. Antes disso vamos denir o operador de diferenas regressivas.

Operador de diferenas regressivas:


denido por,
0 1

f (x) = f (x) f (x) = f (x) = f (x) f (x h) 2 f (x) = f (x) f (x h) = [f (x) f (x h)] [f (x h) f (x 2h)] = f (x) 2f (x h) + f (x 2h) f (x) = = =
k

k1

f (x)) =

k1

( f (x)) f (x), k1

k1 k1

(f (x + h) f (x)) f (x + h)
k1

representado na tabela

x x0 x1 x2 . . .

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

f (x) f (x1 ) f (x2 )

f (x)

f (x)

2 2

f (x2 ) f (x3 ) f (xn )

f (x3 )

xn1 xn

f (xn1 ) f (xn )

f (x2 ) . . .

. . .

f (xn )

Aula 18. Interpolao equidistante e interpolao de Lagrange segmentada


Vamos supor que os pontos de interpolao x0 , x1 , . . . , xn so espaados por um tamanho de intervalo xo, denotado por h, isto ,

Usando a expanso binomial de (1 + )s temos

f (x) = [1+s+

s(s 1) 2 s(s 1)(s 2) 3 + +. . . ]f (x0 ) 2! 3

Os coecientes de k so assim dados por

h = xi xi1 ,

i = 1, . . . , n

E vamos ver qual a vantagem de fazer uma interpolao com os pontos equidistantes, na determinao do polinmio de interpolao. Vimos anteriormente que podemos denir recursivamente, dois operadores, o operador de diferenas progressivas e o operador de diferenas regressivas. Antes de vericar como podemos determinar o polinmio interpolador vamos ainda denir outro operador.

s(s 1) . . . (s (k 1)) (s k) . . . 1 s! = = k! (s k) . . . 1 k!(s k)!


que o coeciente binomial. Ento para s IR

s k

f (x0 + sh) =
k=0

s k

k f (x0 )

Operador mudana: E
E 0 f (x) = f (x) Ef (x) = E 1 f (x) = f (x + h) E 1 f (x) = f (x h) E k f (x) = f (x + kh) = E(E k1 f (x)), k = 1, 2, . . . . E muda os pontos dados para a direita e para a esquerda, consoante o expoente seja positivo ou negativo. Existem vrias relaes entre os trs operadores, , e E . Temos f (x) = f (x + h) f (x) = Ef (x) f (x) = (E 1)f (x)
e ainda

A srie innita exacta mas computacionalmente no serve para nada! Truncando a srie em n f (x0 ) obtemos uma aproximao polinomial pn , de grau n, para a funo f ,
n

f (x0 + sh) pn (x0 + sh) =


k=0

s k

k f (x0 )

gressivas

Esta a frmula de Newton das diferenas pro-

f (x) = f (x)f (xh) = f (x)E 1 f (x) = (1E 1 )f (x)


Assim temos que

=E1
Ainda

E =1+ )1 .

Desenvolvendo o sumatrio da frmula anterior temos s(s 1) 2 pn (x0 + sh) = f (x0 ) + sf (x0 ) + f (x0 ) 2 s(s 1) . . . (s n + 1) n + + f (x0 ). n! Em x = x0 , s = 0. Como todos os termos de f (x0 ) para a frente contm s termos pn (x0 ) = f (x0 ). Em x = x1 , s = 1, todos os termos de 2 f (x0 ) em frente contm s 1 e pn (x1 ) = f (x0 ) + f (x0 ) = f (x1 ) e assim sucessivamente, obtemos

pn (xi ) = f (xi ),

i = 0, . . . , n

= 1 E 1

e E = (1

Diferenas polinomiais progressivas


Sejam x0 , x1 , . . . , xn pontos equidistantes e ordenados de forma ascendente, ou seja,

Exemplo: Construa a tabela das diferenas para a funo f onde f (0.5) = 1, f (0.6) = 2 e f (0.7) = 5 e use uma interpolao quadrtica para aproximar f (0.63). A tabela das diferenas
x 0.5 0.6
0.7

xi = x0 + ih,

i = 0, . . . , n.

f (x) 1 2
5

f (x) 1

2 f (x) 2

Seja 0 s n tal que x = x0 +sh. Se s {0, 1, 2, . . . , n}, x corresponde a um dos pontos dados. Caso contrrio x corresponde a um ponto que est entre 2 pontos dados. Usando o operador mudana mudana E e o facto de

A forma polinomial quadrtica

s=
temos

x x0 h

1 p2 (x0 + sh) = f (x0 ) + sf (x0 ) + s(s 1)2 f (x0 ) 2


usa termos de diferenas da diagonal superior da tabela das diferenas para dar

f (x) = f (x0 + sh) = E s f (x0 ) = (1 + )s f (x0 )

p2 (x0 + sh) = 1 + s + s(s 1) = 1 + s2

Em x = 0.63, s = 1.3 e

O polinmio quadrtico dado por

f (0.63) p2 (0.63) = 1 + (1.3)2 = 2.69


Uma maneira diferente de desenvolver a equao da frmula de Newton das diferenas progressivas modicar cada termo

p2 (x0 + sh) = f (x2 ) + s f (x2 ) +

s(s + 1) 2

f (x2 )

que utiliza os termos das diferenas da diagonal inferior da tabela de diferenas para dar

f [x0 , . . . , xk ](x x0 )(x x1 ) . . . (x xk1 )


na frmula de diferenas progressivas tomando em considerao que os pontos so equidistantes e ainda o seguinte resultado.

p2 (x2 + sh) = 5 + 3s + s(s + 1) = 5 + 4s + s2


Em x = 0.63, s = 0.7 e f (0.63) p2 (0.63) onde p2 (0.63) = 5 3 0.7 + (0.7)2 = 2.69. As equaes das diferenas progressivas e regressivas so formas diferentes do mesmo polinmio embora no seja evidente quando escritos em funo do s.

Teorema: A diferena dividida de ordem i da funo f nos ns equidistantes xk , xk+1 , . . . , xk+i dada por
f [xk , xk+1 , . . . , xk+i ] =
onde fk = f (xk ).

1 i fk i!hi

Exemplo: Os exemplos anteriores deram-nos um polinmio quadrtico


pp (s) = 1 + s2 pr (s) = 5 + 4s + s2 .
A estimativa interpoladora em x = 0.63 a mesma para ambos os polinmios. Em pp e pr o signicado de s diferente. Para vericar a unicidade ambos os polinmios tero de ser transformados para o domnio de x. No primeiro caso x = x0 + sh pelo que s = (x x0 )/h. Com x0 = 0.5 e h = 0.1 temos que s = 10x 5. Consequentemente

Demonstrao: Para i = 0 temos simplesmente f [xk ] = f (xk ) = 0 fk e o teorema trivialmente verdadeiro. A demonstrao vai ser completada por induo em i, ou seja, admitindo que verdadeira para i + 1. Sabemos que
f [xk , xk+1 , . . . , xk+i+1 ] f [xk+1 , . . . , xk+i+1 ] f [xk , . . . , xk+i ] = xk+i+1 xk 1 i fk+1 i f k = (i + 1)h i!hi i!hi i+1 fk = (i + 1)!hi+1
como pretendamos demonstrar.

pp (x) = 1 + (10x 5)2 = 26 100x + 100x2 .


No segundo caso, x = x2 + sh e s = (x x2 )/h. Com x2 = 0.7 e h = 0.1 temos s = 10x 7. Ento

pr (x) = 5 + 4(10x 7) + (10x 7)2 = 26 100x + 100x2 .


Unicidade!! A necessidade de vrias frmulas interpoladoras devese ocurrncia de erros de arredondamento. Numa mquina de preciso nita cada frmula poder dar estimativas ligeiramente diferentes de f (x) devido a: (a) diferentes valores de s; (b) parcelas ordenadas de maneira diferente. Existem muitas outras tcnicas de interpolao.

Diferenas polinomiais regressivas


Uma forma alternativa para determinar pn usar o operador de diferenas regressivas , isto ,
n

pn (x) = pn (xn + sh) =


k=0

(1)k

s k

f (xn )

onde s = (x xn )/h. Esta a frmula de Newton das diferenas regressivas. Aqui a origem o ltimo ponto da tabela xn .

Interpolao de Lagrange segmentada


Em geral o aumento do grau do polinmio implica um aumento da preciso. No entanto existem funes para as quais no podemos concluir que a um aumento do grau do polinmio interpolador corresponda um aumento da proximidade entre o polinmio interpolador e a funo interpolada, isto , |f (x) pn (x)|, x [a, b]. O uso de um nmero elevado de pontos pode dar origem ao que por vezes se chama de oscilao polinomial de ordem elevada.

Exemplo: Repetir o ltimo exemplo usando a frmula das diferenas regressivas.


x 0.5 0.6
0.7

f (x) 1 2

f (x) 1

f (x) 2

3 5

10

Exemplo:
1 f (x) = , x [1, 1] 1 + 25x2 Consideremos o polinmio interpolador de Lagrange de grau 4, p4 (x), nos pontos x0 = 1, 1 x1 = , 2 x2 = 0 x3 = 1 2 x4 = 1
Seja

Ij tem comprimento hj e seja h tal que h=


Temos
0jk1

max hj .

[a, b] = k1 Ij . j=0

Podemos denir um polinmio interpolador de Lagrange em cada Ij , de grau n usando n + 1 pontos. Se os pontos forem igualmente espaados temos

e o polinmio interpolador de Lagrange de grau 8, p8 (x), nos pontos

h = hj ,

j = 0, . . . , k 1.

Sejam esses pontos denidos por

x0 = 1,

3 x1 = , 4 1 x5 = , 4

1 x2 = , 2

1 x3 = , 4 x8 = 1

x4 = 0,

{xj , 0 i n}.
Assim, para qualquer funo contnua f em [a, b] a interpolao polinomial segmentada coincide em cada Ij com o polinmio interpolador de f|Ij nos n + 1 pontos

(i)

1 x6 = , 2

3 x7 = , 4

{xj , 0 i n}.

(i)

Funo f (x) e polinmios p4 (x) e p8 (x)


1

Vamos agora ver qual o erro da interpolao de Lagrange segmentada. Se pj so os polinmios interpoladores de f|Ij nos n + 1 n
(i)

Teorema: Sejam f C n+1 [a, b] e [a, b] = k1 Ij . j=0

0.5

pontos {xj , 0 i n}, ento o erro da interpolao de Lagrange segmentada verica


0jk1

max ||ej || n

0.5

1 j ||f (n+1) || max ||n+1 || 0jk1 (n + 1)! (x xj ).


(i)

n
1 1 0.5 0 0.5 1

j onde n+1 (x) = i=0

Por esta razo muitas vezes em vez de subir a ordem de interpolao faz-se a denominada interpolao segmentada.

tervalo Ij o erro da interpolao de Lagrange dado por

Demonstrao: Se f C n+1 ([a, b]) para cada in1 j f (n+1) ()n+1 (x), (n + 1)!

ej (x) = f (x) pj (x) = n n


n j Ij e n+1 = i=0

Funo f (x) e polinmios linear segmentado


1

(x xj ). Ainda

(i)

0.5

||ej || = ||f pj || = max |f (x) pj (x)|. n n n


xIj

Como

|f (x) pj (x)| = n
0.5

1 j |f (n+1) ()||n+1 (x)|, (n + 1)!

para x Ij onde = (x) (xj1 , xj ). Ento


1 1 0.5 0 0.5 1

|f (x) pj (x)| n 1 j max |f (n+1) ()| max |n+1 (x)|, xIj (n + 1)! [xj1 ,xj ]
para x Ij ou seja

Consideremos um intervalo [a, b] e vamos subdividir este intervalo em k subintervalos. Sejam eles

Ij = [xj , xj+1 ],

j = 0, . . . , k 1.

|f (x) pj (x)| n

1 j ||f (n+1) || ||n+1 || . (n + 1)!

11

Assim, para j = 0, . . . k 1, temos

|f (x) pj (x)| n
pelo que
0jk1

1 j ||f (n+1) || max ||n+1 || , 0jk1 (n + 1)!

max ||ej || n

1 j ||f (n+1) || max ||n+1 || . 0jk1 (n + 1)!

12

Aula 19. Interpolao de Hermite


Existem outras tcnicas de interpolao. Uma modicao comum interpolao de Lagrange interpolar ambos os valores da funo e da sua derivada num conjunto de pontos (ns). Isto d origem chamada interpolao de Hermite.

Para mostrar que este o nico polinmio em P2n+1 que verica estas condies, vamos supr que existe um outro polinmio. Suponhamos ento que existe um polinmio q2n+1 em P2n+1 , distinto de p2n+1 e tal que

q2n+1 (xi ) = f (xi ) e q2n+1 (xi ) = f (xi ),

i = 0, 1, . . . , n.

Polinmio interpolador de Hermite


O objectivo da interpolao de Hermite o de representar uma funo f por um polinmio que seja interpolador de f em alguns pontos do seu domnio e que a sua derivada seja interpolador da derivada de f nesses mesmos pontos. Supondo que f diferencivel, vamos procurar um polinmio p tal que

p(xi ) = f (xi ),

p (xi ) = f (xi ),

i = 0, . . . n.

(7)

Existe um nico polinmio de grau menor ou igual a 2n + 1 que verica (7).

Consequentemente p2n+1 q2n+1 tem n + 1 zeros distintos. Portanto o Teorema de Rolle implica que, adicionalmente aos n + 1 zeros xi , i = 0, 1, 2 . . . , n, q2n+1 p2n+1 anula-se noutros n pontos que intercalam os xi . Portanto q2n+1 p2n+1 P2n+1 tem 2n + 1 zeros, o que signica que q2n+1 p2n+1 identicamente nulo, pelo que q2n+1 p2n+1 uma funo constante. Como (q2n+1 p2n+1 )(xi ) = 0 para i = 0, 1, 2, . . . , n temos que q2n+1 p2n+1 = 0 e portanto o polinmio ter de ser o mesmo. Quando n = 0, denimos h0 (x) = 1 e v0 (x) = x x0 , o que corresponde a considerar l0 (x) = 1. Temos ainda que p1 denido por

p1 (x) = h0 (x)f (x0 )+v0 (x)f (x0 ) = f (x0 )+(xx0 )f (x0 )


e o nico polinmio em P1 tal que p1 (x0 ) = f (x0 ) e p1 (x0 ) = f (x0 ).

Teorema: Seja f C 2n+2 ([a, b]) e x0 , x1 , . . . , xn pontos distintos em [a, b]. Existe um e um s polinmio p2n+1 pertencente a P2n+1 que verica
p(xi ) = f (xi ), p (xi ) = f (xi ), i = 0, . . . n.
(8)

Demonstrao: Seja n 1. Como no caso da interpolao de Lagrange, comeamos por construir um conjunto de polinmios auxiliares. Consideremos os polinmios hk e vk , k = 0, 1, . . . , n denido por
hk (x) = [lk (x)]2 (1 2lk (xk )(x xk )), vk (x) = [lk (x)]2 (x xk ),
onde
n

Denio: Seja n 0 e suponhamos que xi , i = 0, 1, 2, . . . , n so n+1 pontos distintos. Seja f uma funo real denida num intervalo [a, b] de IR onde a funo contnua e diferencivel e sejam f (xi ) e f (xi ), i = 0, 1, 2, . . . , n dados. O polinmio p2n+1 denido por
n

p2n+1 (x) =

[hk (x)f (xk ) + vk (x)f (xk )]


k=0

(10)

(9)

lk (x) =
i=0,i=k

x xi . xk xi

onde hk e vk so denidos por (9), denominado de interpolao polinomial de Hermite de grau 2n + 1 para o conjunto de pontos {(xi , f (xi ), f (xi )) : i = 0, 1, . . . , n}.

Claramente hk e vk , k = 0, 1, . . . , n so polinmios de graun 2n+1. tambm fcil de ver que hk (xi ) = vk (xi ) = 0, e que hk (xi ) = vk (xi ) = 0 sempre que i, k {0, 1, . . . , n} e i = k . Verica-se ainda facilmente os seus valores para i = k . Temos que

Observao: Note que, tal como na interpolao de Lagrange se m for o nmero de condies impostas para a determinao do polinmio interpolador, o seu grau m 1.
que

Exemplo: Vamos construir o polinmio cbico p3 tal


p3 (0) = 0, p3 (1) = 1, p3 (0) = 1 e p3 (1) = 0.

hk (xi ) = vk (xi ) = 0,

1, i = k 0, i = k vk (xi ) =

hk (xi ) = 0, 1, i = k 0, i = k

i, k = 0, 1, . . . , n.

i, k = 0, 1, . . . , n.

Temos que n = 1, e como p3 (0) = p3 (1) = 0 o polinmio ca p3 (x) = h1 (x) + v0 (x). Facilmente vemos que, para n = 1, x0 = 0 e x1 = 1, temos l0 (x) = 1 x, l1 (x) = x, e portanto

Deduzimos que
n

p2n+1 (x) =

[hk (x)f (xk ) + vk (x)f (xk )]


k=0

satisfazem as condies (8), e p2n+1 pertence claramente a P2n+1 .

h1 (x) = [l1 (x)]2 (1 2l1 (x1 )(x x1 )) = x2 (3 2x), v0 (x) = [l0 (x)]2 (x x0 ) = (1 x)2 x.

13

O polinmio de Hermite assim dado por

p3 (x) = x3 + x2 + x.
A obteno do polinmio interpolador de Hermite pode ser feita de vrias maneiras. Tambm pode ser obtido numa forma que generaliza o polinmio interpolador de Newton das diferenas divididas. Consideremos os 2n+2 pontos x0 , x0 , x1 , x1 , . . . , xn , xn . Podemos vericar que o polinmio de grau 2n + 1 dado por

Logo

p3 (x) = 0 + x +

4 2 2 16 + 4 2 x + x (x 1) 2 3

p3 (x) = x[1 + x[0.231 0.921(x 1)]]. [(n = 1) 2n + 1 = 3]

Erro da interpolao de Hermite


O estudo do erro na interpolao de Hermite consiste na generalizao do estudo efectuado para a interpolao de Lagrange de acordo com o seguinte teorema

p(x) = f (x0 ) + f [x0 , x0 ](x x0 ) + f [x0 , x0 , x1 ](x x0 )2 +f [x0 , x0 , x1 , x1 ](x x0 )2 (x x1 ) + + f [x0 , x0 , . . . , xn , xn ](x x0 )2 (x x1 )2 . . . (x xn1 )(x xn )
verica as condies (7) onde as diferenas divididas representadas esto generalizadas para pontos no distintos de acordo com o seguinte resultado

Teorema: Seja p2n+1 o polinmio, de grau menor ou igual a 2n + 1, interpolador de Hermite da funo f nos pontos distintos x0 , x1 , . . . , xn [a, b]. Se f C([a, b]), ento para cada x [a, b], existe [a, b] tal que
e(x) = f (x) p2n+1 (x) = f (2n+2) () 2 (x), (2n + 2)!
n

f (r) (xi ) f [xi , xi , . . . , xi ] = r!


onde xi , xi , . . . , xi corresponde a r + 1 pontos. Note que

onde a funo dada por (x) =

(x xj ).
j=0

f [xi , xi ] = lim f [x, xi ]


xxi

Demonstrao: Se x = xi , para algum i o resultado est provado. Se x = xi , i = 0, . . . , n denamos a funo auxiliar


F (t) = f (t) p2n+1 (t) 2 (t) (f (x) p2n+1 (x)) 2 (x)

f (x) f (xi ) = f (xi ). x xi Com esta notao pode vericar-se facilmente que o polinmio interpolador de Hermite de grau 2n+1 nos pontos x0 , . . . , xn dado por = lim
xxi

Como F (t) = 0 possui 2n + 3 razes (n + 1 raizes duplas xi , i = 0, . . . , n e uma raiz simples x) temos, por aplicao do Teorema de Rolle generalizado, que F (2n+2) (t) = p2n+1 (x) = f (x0 ) + f (x0 )(x x0 ) + f [x0 , x0 , x1 ](x x0 )2 0 possui pelo menos uma raiz em (a, b). Seja essa raiz. Uma vez que f [x0 , x0 , x1 , x1 ](x x0 )2 (x x1 ) + + 2 2 f [x0 , x0 , . . . , xn , xn ](x x0 ) (x x1 ) . . . (2n + 2)! F (2n+2) (t) = f (2n+2) (t) (f (x) p2n+1 (x)), (x xn1 )(x xn ) 2 (x) substituindo t por obtm-se o resultado pretendido. Dependendo do comportamento de f (2n+2) o aumento do grau do polinmio de Hermite pode aumentar ou diminuir o erro da aproximao. Tambm aqui a interpolao segmentada pode ser uma forma de minimizar o erro. E ser que existe um polinmio interpolador tal que os valores das derivadas de ordem superior nos pontos sejam dadas?

O polinmio pode assim ser determinado recorrendo tabela das diferenas divididas generalizadas, tabela essa onde cada ponto aparece repetido duas vezes.

Exemplo: Determine o polinmio interpolador de Hermite de grau 3 para a funo f (x) = sen(x), x [0, /2]. Temos f (0) = 0 e f (0) = 1 e f (/2) = 1 e f (/2) = 0. A tabela das diferenas generalizadas agora dada por
xi 0 0 2 2 f (xi ) 0 1 0 2
1

Interpolao de Hermite generalizada


4 2 2 4 2
Suponhamos que, dada uma funo f sucientemente diferencivel, queremos determinar um polinmio p que verique

16 + 4 3

p(j) (x0 ) = f (j) (x0 ), p


(j)

j = 0, 1, . . . , r0 j = 0, 1, . . . , r1 . . . j = 0, 1, . . . , rn

(x1 ) = f

(j)

(x1 ),

0
1

. . . (j) p (xn ) = f (j) (xn ),

(11)

14

Temos de facto o seguinte resultado

Teorema: Existe um nico polinmio de ordem menor ou igual a N , com


n

N =n+
j=0

rj ,

que satisfaz (11).

Interpolao de Hermite segmentada


A ideia a mesma desenvolvida para o polinmio interpolador de Lagrange segmentado. Consideremos um intervalo [a, b] subdividido em k intervalos

Ij = [xj , xj+1 ], j = 0, . . . , k 1
com [a, b] = k1 Ij . j=0 Podemos denir um polinmio interpolador de Hermite em cada Ij , de grau 2n + 1 usando n + 1 pontos. Sejam esses pontos denidos por

{xj ,

(i)

0 i n}.

Se pj 2n+1 so os polinmios interpoladores de Hermite de (i) f|Ij nos n + 1 pontos {xj , 0 i n}, ento o erro da interpolao segmentada de Hermite verica

Teorema: Sejam f C 2n+2 [a, b] e [a, b] = k1 Ij . j=0

||e||
com

||f (2n+2) || (2n + 2)! ||e|| =

0jk1

max ||( j )2 ||

0jk1 n

max ||ej || (x xj )2
i=0 (i)

||( j )2 || = max
xIj

15

Aula 20. Splines


Como j vimos, dado um conjunto de pontos {(xi , f (xi )), i = 0, . . . , n} podemos usar um nico polinmio de ordem n, pn , para interpolar esses pontos. Vimos tambm que por vezes os polinmios de ordem elevada podem ser naturalmente oscilatrios devido aos seus n 1 pontos de viragem, o que obviamente no aceitvel. A interpolao atravs de funes spline consiste numa interpolao segmentada. Como vimos uma interpolao segmentada simples faz-se atravs de interpoladores lineares, ou seja, dados n + 1 pontos em ordem ascendente os pontos (xi1 , f (xi1 )) e (xi , f (xi )) so interpolados por

funes contnuas em [a, b] tais que todas as derivadas at ordem k inclusive so contnuas em [a, b]. que interpola f em a = x0 < x1 < x2 < < xm = b. Ento temos o seguinte

Teorema: Seja f C 2 [a, b] e sL uma spline linear


1 2 h ||f || , 8

||f sL ||
onde h = maxi hi .

pi (x) = f (xi1 )+ 1

f (xi ) f (xi1 ) (xxi1 ), i = 1, . . . n xi xi1

Consideremos o subintervalo [xi1 , xi ], 1 i m. Temos pelo erro interpolador de Lagrange aplicado a [xi1 , xi ] que

Demonstrao:

f (x) sL (x) =

que uma recta que passa por (xi1 , f (xi1 )) e (xi , f (xi )). As sucessivas aproximaes pi (x) e pi+1 (x) so con1 1 tnuas no ponto comum x = xi , ou seja,

1 f ()(x xi1 )(x xi ), 2

pi (xi ) = pi+1 (xi ). 1 1


Um interpolador segmentado denominado spline linear, que vamos denotar sL (ou ainda s1 ), onde sL C 0 [x0 , xn ]. Este tipo de interpolao em algumas situaes no suciente. Por exemplo, embora a continuidade esteja assegurada nos pontos de interpolao, a primeira derivada pode no existir. A soluo para este problema utilizar splines que tenham a primeira derivada contnua ou se necessrio derivadas de maior ordem contnuas. A spline mais utilizada a denominada spline cbica que preserva a continuidade da primeira e segunda derivadas nos pontos de interpolao internos x1 , . . . , xn1 . Vamos no entanto comear por nos debruar sobre a spline linear.

para x [xi1 , xi ], onde = (x) (xi1 , xi ). Assim 1 |f (x) sL (x)| max |f ()| 2 x[xi1 ,xi ] max |(x xi1 )(x xi )|.
x[xi1 ,xi ]

Note que
x[xi1 ,xi ]

max

|(x xi1 )(x xi )| =

1 (xi xi1 )2 . 4

Ento

|f (x) sL (x)|
Isto prova o requerido.

1 2 h ||f || 8

Funes base para a spline linear


Suponhamos que sL uma spline linear com nodos xi , i = 0, 1, . . . , m que interpola f C[a, b]. Em vez de especicarmos o valor de sL em cada subintervalo [xi1 , xi ], i = 1, . . . , m podemos escrever sL como a combinao linear de funes base k :
m

Interpolao linear por splines


Seja f uma funo contnua em [a, b]. Seja {x0 , . . . , xm } um conjunto de pontos em [a, b] onde a = x0 < x1 < < xm = b, m 2. A spline linear sL (tambm denotada por s1 ) interpoladora de f nos pontos xi denida por

Denio: (Spline linear)

sL (x) =
k=0

k (x)f (xk ), x [a, b].

sL (x) =

x xi1 xi x f (xi1 ) + f (xi ), xi xi1 xi xi1

onde x [xi1 , xi ], i = 1, 2, . . . , m. Os pontos xi , i = 0, 1, . . . , m so os nodos da spline. Como sL interpola f nos nodos, i.e.,

sL (xi ) = f (xi ), i = 0, 1, . . . , m
em cada intervalo [xi1 , xi ], i = 0, . . . , m a funo sL contnua no intervalo [a, b]. Vamos denotar hi = xi xi1 e h = maxi hi e ainda para um inteiro k positivo seja C k [a, b] o conjunto das

Requeremos que cada k seja uma spline linear que se anula em cada nodo excepto em xk , isto , k (xk ) = 1. A funo k que pertence base da spline linear denominada de funo chapu pois dada por 0, x xk1 x xk1 , xk1 x xk h k (x) = xk+1k x , xk x xk+1 h k+1 0, x xk+1 para k = 1, . . . , m 1 e com

0 (x) =

x1 x , a = x0 x x1 h0 0, x x1

16

m (x) =

0, x xm1 x xm1 , xm1 x xm = b hm

para x [xi1 , xi ] e onde hi = xi xi1 . Integrando duas vezes esta equao temos

s3,i1 (x) = Mi1

Gracamente temos

(xi x)3 (x xi1 )3 + Mi 6hi 6hi i1 . +Ci1 (x xi1 ) + C

As contantes Ci1 , Ci1 so determinadas impondo s3 (xi1 ) = fi1


para i = 1, . . . , n 1. Temos
2

e s3 (xi ) = fi

1 xk1

xk

xk+1

Figura. Funo chapu k , 1 k m 1

h Ci1 = fi1 Mi1 i , 6 fi fi1 hi Ci1 = (Mi Mi1 ) . hi 6 Agora reforando a continuidade da primeira derivada temos de ter hi hi fi fi1 s3,i1 (xi ) = Mi1 + Mi + 6 3 hi hi+1 hi+1 fi+1 fi = Mi Mi+1 + 3 6 hi+1 = s3,i (xi )
Isto leva ao sistema linear

Spline cbica
Sejam x0 , . . . , xn , n + 1 pontos no intervalo [a, b], com a = x0 < x1 < < xn = b. Consideremos o conjunto S de todas as funes s3 C 2 [a, b] tais que (a) s3 (xi ) = f (xi ), i = 0, 1, . . . , n (b) s3 um polinmio cbico em cada [xi1 , xi ], i = 1, 2, . . . , n Todo o elemento pertencente a S denominado de spline cbica. Note que ao contrrio das splines lineares, existe mais do que uma spline cbica de interpolao de x0 , . . . , xn que pertence a C 2 [a, b] e satisfaz as condies (a) e (b). Como s3 C 2 [a, b] isto signica que s3 , s3 , s3 so contnuas nos pontos x1 , . . . , xn1 . As splines cbicas so importantes porque: i. so as splines de grau menor que pertencem a C 2 . ii. so suaves na presena de pequenas curvaturas. Sejam n + 1 pontos ordenados em [a, b], a = x0 < < xn = b a interpolar onde f (xi ) = fi .

i Mi1 + 2Mi + i Mi+1 = di , i = 1, . . . , n 1


onde para i = 1, . . . , n 1 temos

i = di =

hi , hi + hi+1

i =

hi+1 , hi + hi+1

6 hi + hi+1

fi+1 fi fi fi1 hi+1 hi

Este sistema tem n + 1 incgnitas Mi e n 1 equaes. Dependendo das escolhas das duas condies que sobram podemos construir vrias splines cbicas de interpolao. Faltam portanto duas condies para que se possam determinar todas as incgnitas. Estas podem ser da forma

2M0 + 0 M1 = d0

n Mn1 + 2Mn = dn

com 0 0 , n 1 e d0 , dn valores dados. Assim as equaes (4) do sistema linear acima mais estas duas ltimas condies representam um sistema linear de equaes e incgnitas em igual nmero. Como construir uma spline cbica? Esta estratgia produz uma spline com comportamento suave. Em geral o sistema linear resultante triA segunda derivada da spline de grau trs ter de ser diagonal da forma contnua. Sejam, para i = 0, 1, . . . , n 2 0 0 ... 0 M0 d0 1 2 1 . . . 0 M1 d1 fi = s3 (xi ) mi = s3 (xi ) Mi = s3 (xi ) ... ... 0 0 . . . . = . . . . . . Seja s3,i1 o polinmio interpolador no subintervalo [xi1 , xi ]. . . d Mn1 n1 n1 2 n1 Como s3,i1 P3 , s3,i1 linear e Mn dn 0 ... 0 n 2 x xi1 xi x + Mi , s3,i1 (x) = Mi1 que pode ser resolvido ecientemente. hi hi

17

Uma escolha usual para 0 , n , d0 e dn fazer

0 = n = 1

e d0 = d1

dn = dn1

que corresponde a prolongar a spline para fora do intervalo [a, b] e a tratar a, b como pontos internos. Uma classe importante de splines cbicas dada pela seguinte denio.

Denio: Uma spline cbica diz-se natural se pertence ao conjunto S e satisfaz as condies
s3 (x0 ) = s3 (xn ) = 0.
Esta condio adicional permite denir de forma nica s3 e implica que s3,0 (a) = s3,n1 (b) = 0, ou seja M0 = Mn = 0.

Teorema: Seja f C 4 [a, b] e suponhamos que temos uma partio em subintervalos de tamanho hi tais que h = maxi hi . Seja s3 a spline cbica interpoladora de f . Ento (r) ||f (r) s3 || Cr h4r ||f (4) || , para r = 0, 1, 2 e com C0 = 5/384, C1 = 1/24 e C2 = 3/8. Demonstrao: Omitimos Denio de Spline em geral: Sejam x0 , . . . , xn n + 1 pontos distintos de [a, b] com a = x0 < x1 < < xn = b. A funo sk (x) em [a, b] uma spline de grau k relativamente aos nodos xj , se (a) sk|[x ,x ] Pk , j = 0, 1, . . . , n 1
(b) sk C k1 [a, b] Em geral denimos ainda peridica se
(m)
j j+1

Splines peridicas: Uma spline de ordem k diz-se


sk (a) = sk (b),
(m)

m = 0, 1, 2, . . . , k 1

Splines naturais: Uma spline de ordem k diz-se natural se para k = 2l 1, com l 2 se tem
sk
(l+j)

(a) = sk

(l+j)

(b) = 0,

j = 0, 1, 2, . . . , l 2.

Bases de funes splines


Vimos que uma famlia de funes chapu formam uma base para as splines lineares para um certo nmero xo de pontos. As funes base para splines em geral so denominadas de B -splines. Assim as que contrumos anteriormente para as splines lineares so designadas de B -splines lineares. Da mesma forma existem B -splines cbicas, ou seja, existem funes para as quais s3 (x) se pode escrever como a combinao linear dessas funes. [Pode ser visto em Quarteroni]

18

Aula 21. Interpolao de funes denidas em IR2 : interpolao de curvas paramtricas e interpolao de Lagrange
Nesta aula vamos considerar a determinao de um polinmio de duas variveis que seja interpolador de uma funo ou curva de IR2 .

pode ser aproximada por

x = p(t) y = q(t), t [0, 1]


com p e q calculados usando interpolao. Iremos calcular o polinmio p deixando o clculo de q como exerccio. Comecemos por construir a tabela

Interpolao de curvas paramtricas


Vamos supor que temos uma curva paramtrica em IR. Por exemplo, a curva da Figura.

fi 0 0.25 0.5 0.75

pi 1 0

pi 1

2 pi 0

3 pi

4 pi

1 1 1 0 1

2 2 4 2 6

0.5

Assim temos que

p(t) = 1+4t(1+16(t0.25))(t0.5)(1/3+(t0.75)).
1

Interpolao de Lagrange
1

Seja = [a, b] [c, d] um subconjunto de IR2 . No intervalo [a, b] consideremos a partio

a = x0 < x1 < < xi < < xn1 < xn = b


Seja C uma curva de equaes paramtricas e em [c, d]

x = x(t) y = y(t), t [a, b]

c = y0 < y1 < < yj < < ym1 < ym = d.

A aproximao da curva que une os pontos (x0 , y0 ), (x1 , y1 ), As duas parties anteriores induzem em o seguinte conjunto de pontos . . . , (xn , yn ) por esta ordem feita considerando uma partio do intervalo [a, b], geralmente uniforme a = t0 < {(xi , yj ) : i = 0, 1, . . . , n, j = 0, 1, . . . , m}, t1 < < tn1 < tn = b tal que

xi = x(ti ) yi = y(ti ),

i = 0, 1, . . . , n

que designamos rede rectangular. Seja f uma funo denida em tal que

e calculando os polinmios (globais ou segmentados) p e q tais que

p(xi , yj ) = f (xi , yj ),

i = 0, 1, . . . , n, j = 0, 1, . . . , m

p(ti ) = x(ti )

e q(ti ) = y(ti ),

i = 0, 1, . . . , n

Exemplo: Usando interpolao, determine uma aproximao para a curva dada na Figura. Com os dados da Figura e considerando a posio ti = 0.25i, i = 0, 1, 2, 3, 4 podemos construir a tabela
i ti xi yi 0 0 1 0 1 0.25 0 1 2 0.5 1 0.5 3 0.75 0 0 4 1 1 1

Questo: Como se determina um polinmio denido em IR2 interpolador de f em {(xi , yj ) : i = 0, 1, . . . , n, j = 0, 1, . . . , m}?


Um polinmio em IR2 uma funo da forma
n m

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

bij xi y j ,

(x, y) IR2

A curva de equao paramtrica

x = x(t) y = y(t), t [0, 1]

Consideremos os polinmios de Lagrange li (x) e lj (x) denidos anteriormente, considerando as parties de [a, b] e [c, d] respectivamente. Com estas funes denamos

lij (x, y) = li (x)lj (y),

i = 0, 1, . . . , n j = 0, 1, . . . , m

19

que vericam

lij (xk , yt ) = kt =

1, k = t 0, k = t

Atendendo a que este sistema possvel e determinado, existe para cada t, uma nica soluo qit , i = 0, 1, . . . , n. Finalmente, para os coecientes bij e para cada i = 0, . . . , n temos o seguinte sistema
m j bij yt = qit , j=0

O papel desempenhado por estas funes anlogo ao das funes base, polinmios de Lagrange, considerada quando introduzimoa o polinmio interpolador de Lagrange em IR. Consideremos o seguinte polinmio de grau n em x e m em y
n m

t = 0, 1, . . . , m

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

f (xi , yj )lij (x, y)

ou seja,

p(x, y) = [f (x0 , y0 ) + f (x1 , y0 )l1 (x) + + f (xn , y0 )ln (x)] +[f (x0 , y1 )l1 (y) + f (x1 , y1 )l1 (x)l1 (y) + . . . + f (xn , y1 )ln (x)l1 (y)] +... +[f (x0 , ym )lm (y) + f (x1 , ym )l1 (x)lm (y) + . . . + f (xn , ym )ln (x)lm (y)], (x, y) .
Atendendo s propriedades das funes lij (x, y), o polinmio p(x, y) satisfaz a igualdade

isto , o seguinte sistema 2 3 m 1 y0 y0 y0 . . . y0 qi0 bi0 2 3 m 1 y1 y1 y1 . . . y1 bi1 qi1 1 y y2 y3 . . . ym b q i2 i2 2 . . .2 .2 . 2 . = . . . . . . . . . . . . . . . 2 3 m qim bim 1 ym ym ym . . . ym que tambm um sistema possvel e determinado. Provmos deste modo a unicidade do polinmio interpolador de Lagrange em IR2 .

Teorema: Seja f uma funo denida em = [a, b] [c, d] onde consideramos a partio
{(xi , yj ) : i = 0, . . . , n, j = 0, . . . , m}.
Dados f (xi , yj ), i = 0, . . . , n, j = 0, . . . , m o nico polinmio interpolador p(x, y) de grau n em x e m em y que verica

p(xk , yt ) = f (xk , yt ),
e alm disso o nico polinmio de grau n em x e m em y que resolve o problema da interpolao que nos proposemos resolver. De facto, seja
n m

p(xi , yj ) = f (xi , yj ), i = 0, . . . , n, j = 0, . . . , m
o polinmio interpolador de Lagrange
n m

q(x, y) =
i=0 j=0

bij xi y j

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

f (xi , yj )lij (x, y)

um polinmio de grau n em x e m em y que verica a equao q(xi , yj ) = f (xi , yj ). Fixemos yt na partio de [c, d] e consideremos o polinmio em x
n m j bij xi yt = i=0 j=0 i=0 m n

Vamos dar a estimativa do erro cometido mas omitir a demonstrao. Seja p(x, y) o polinmio interpolador de Lagrange de grau n em x e m em y que interpolador de f em [a, b] [c, d]. O nosso objectivo determinar uma estimativa para ||f p|| .

q(x, yt ) =
onde

qit xi ,

Teorema: Seja f uma funo que tem em [a, b][c, d] as seguintes derivadas parciais contnuas
n+1 (m+1)(n+1) m+1 , , , m+1 y xn+1 xn+1 y m+1
Em [a, b] [c, d] consideremos {(xi , yj ) : i = 0, . . . , n j = 0, . . . m} e sejam

qit =
j=0

j bij yt .

Atendendo s condies para q , os coecientes deste polinmio devem satisfazer


n

hx = max (xi xi1 ) hy = max (yj yj1 ).


i=1,...,n j=1,...,m

qit xi = f (xk , yt ), k
i=0

k = 0, 1, . . . , n

Se p(x, y) o polinmio interpolador de Lagrange de grau n em x e m em y que verica

isto , o seguinte sistema 1 x0 x2 x3 . . . xn q0t f (x0 , yt ) 0 0 0 2 3 n 1 x1 x1 x1 . . . x1 q1t f (x1 , yt ) 1 x x2 x3 . . . xn q f (x , y ) 2t 2 t 2 . . .2 .2 . 2 . = . . . . . . . . . . . . . . .

p(xi , yj ) = f (xi , yj ), i = 0, . . . , n j = 0, . . . , m
ento

||f p|| +

hn+1 n+1 f x || n+1 || 4(n + 1) x

1 xn x2 x3 . . . xn n n n

qnt

f (xn , yt )

hm+1 m+1 f hn+1 (n+1)(m+1) f y x || m+1 || + || || 4(m + 1) y 4(n + 1) xn+1 y m+1

20

, com (x, y) [2, 2] [2, 2]. Considere o rectngulo [0, 0.1] [0, 0.12]. Em cada um dos intervalos [0, 0.1] e [0, 0.12] denamos as parties de pontos igualmente espaados em x com um espaamento de h = 0.05 e em y com um espaamento de k = 0.04. Os pontos so respectivamente

Exemplo: Consideremos a funo f (x, y) = ex

y 2

x0 = 0, x1 = 0.05, x2 = 0.1
e

y0 = 0, y1 = 0.04, y2 = 0.08, y3 = 0.12

O polinmio interpolador de Lagrange em IR2 de grau 2 em x e grau 3 em y dado por

p(x, y) = f (x0 , y0 ) + f (x1 , y0 )l1 (x) + f (x2 , y0 )l2 (x) +f (x0 , y1 )l1 (y) + f (x1 , y1 )l1 (x)l1 (y) + f (x2 , y1 )l2 (x)l1 (y) +f (x0 , y2 )l2 (y) + f (x1 , y2 )l1 (x)l2 (y) + f (x2 , y2 )l2 (x)l2 (y) +f (x0 , y3 )l3 (y) + f (x1 , y3 )l1 (x)l3 (y) + f (x2 , y3 )l2 (x)l3 (y)
ou seja,

p(x, y) = f (0, 0) + f (0.05, 0) +f (0.1, 0) x(x 0.05) 0.1(0.05)

x(x 0.1) 0.05(0.05)

x(x 0.1) 0.05(0.05) x(x 0.05) y(y 0.08)(y 0.12) +f (0.1, 0.04) 0.1(0.05) 0.04(0.04)(0.08) x(x 0.1) + f (0, 0.08) + f (0.05, 0.08) 0.05(0.05) x(x 0.05) y(y 0.04)(y 0.12) +f (0.1, 0.08) 0.1(0.05) 0.08(0.04)(0.04) x(x 0.1) + f (0, 0.12) + f (0.05, 0.12) 0.05(0.05) x(x 0.05) y(y 0.04)(y 0.08) +f (0.1, 0.12) 0.1(0.05) 0.12(0.08)(0.04) + f (0, 0.04) + f (0.05, 0.04)