(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
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)
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
(x 3)
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
= d0 +
k=1
dk
(x cj ).
j=1
(4)
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
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).
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
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
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
com a propriedade
n
p2 (x) = bi li (xj ) = fj , j = 0, . . . , n =
k=0 2
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
Nota: A ordem dos pontos no importante. Uma ordem ascendente ou descendente simplesmente torna o conjunto {x0 , . . . xn } mais legvel.
f (x) = pn (x) +
n i=0 (x
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
Mn+1 (n + 1)!
x0 < x < xn
pn (x) =
k=0
en (x) =
para algum = (x) [a, b]. Podemos ainda escrever o erro na forma
f (n+1) () . (n + 1)!
(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
0 = F (n+1) () = f (n+1) ()
xi x0 x1 x2 . . .
xn1 xn
f (xn1 ) f (xn )
f [xn1 , xn ]
f [xn2 , xn1 , xn ]
f (x) = lim
h0
f (x + h) f (x) . h
f [x0 , x1 , . . . , xk1 , xk ] =
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 .
xi x0 x1 x2 . . .
p0 (x) = f [x0 ]
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.
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 ,
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
pn (x) = f [x0 ] +
k=1
f [x0 , . . . , xk ]
i=0
(x xi ).
vididas.
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 ) . . .
. . .
f (x) f (x0 )
3 f (x)
x1
3 f (x0 )
xn1 xn
f (xn1 ) f (xn )
f (xn1 )
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
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)
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.
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 (x)
2 2
f (x3 )
xn1 xn
f (xn1 ) f (xn )
f (x2 ) . . .
. . .
f (xn )
f (x) = [1+s+
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 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
s k
k f (x0 )
gressivas
=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
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
s=
temos
x x0 h
Em x = 0.63, s = 1.3 e
s(s + 1) 2
f (x2 )
que utiliza os termos das diferenas da diagonal inferior da tabela de diferenas para dar
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
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.
(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 .
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
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
h = hj ,
j = 0, . . . , k 1.
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)
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)
0.5
max ||ej || n
0.5
n
1 1 0.5 0 0.5 1
Por esta razo muitas vezes em vez de subir a ordem de interpolao faz-se a denominada interpolao segmentada.
Demonstrao: Se f C n+1 ([a, b]) para cada in1 j f (n+1) ()n+1 (x), (n + 1)!
(x xj ). Ainda
(i)
0.5
Como
|f (x) pj (x)| = n
0.5
|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
11
|f (x) pj (x)| n
pelo que
0jk1
max ||ej || n
12
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
i = 0, 1, . . . , n.
p(xi ) = f (xi ),
p (xi ) = f (xi ),
i = 0, . . . n.
(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
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) =
(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
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) =
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
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
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
(x xj ).
j=0
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
16 + 4 3
j = 0, 1, . . . , r0 j = 0, 1, . . . , r1 . . . j = 0, 1, . . . , rn
(x1 ) = f
(j)
(x1 ),
0
1
(11)
14
N =n+
j=0
rj ,
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
||e||
com
0jk1
max ||( j )2 ||
0jk1 n
max ||ej || (x xj )2
i=0 (i)
||( j )2 || = max
xIj
15
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
||f sL ||
onde h = maxi hi .
pi (x) = f (xi1 )+ 1
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,
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
1 (xi xi1 )2 . 4
Ento
|f (x) sL (x)|
Isto prova o requerido.
1 2 h ||f || 8
sL (x) =
k=0
sL (x) =
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) =
para x [xi1 , xi ] e onde hi = xi xi1 . Integrando duas vezes esta equao temos
Gracamente temos
e s3 (xi ) = fi
1 xk1
xk
xk+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 = di =
hi , hi + hi+1
i =
hi+1 , hi + hi+1
6 hi + hi+1
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
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
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.
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 .
pi 1 0
pi 1
2 pi 0
3 pi
4 pi
1 1 1 0 1
2 2 4 2 6
0.5
p(t) = 1+4t(1+16(t0.25))(t0.5)(1/3+(t0.75)).
1
Interpolao de Lagrange
1
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
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
p(x, y) =
i=0 j=0
bij xi y j ,
(x, y) IR2
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
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
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
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 .
qit xi = f (xk , yt ), k
i=0
k = 0, 1, . . . , n
p(xi , yj ) = f (xi , yj ), i = 0, . . . , n j = 0, . . . , m
ento
||f p|| +
1 xn x2 x3 . . . xn n n n
qnt
f (xn , yt )
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
y 2
x0 = 0, x1 = 0.05, x2 = 0.1
e
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,
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)
Muito mais do que documentos
Descubra tudo o que o Scribd tem a oferecer, incluindo livros e audiolivros de grandes editoras.
Cancele quando quiser.