• Nenhum resultado encontrado

Fun¸c˜ oes splines. Interpola¸c˜ ao por splines c´ ubicas

N˜ao ´e dif´ıcil verificar que mk

N = (m1q+m0)k1p+mk0

N =m1k1+m0k1

q +mk0

N . Usando o fato de quee2πij= 1 para todo n´umero inteiroj, obtemos

Cm = 1

N

N1

X

k=0

fke2πimkN

= 1

pq

p1

X

k0=0 q1

X

k1=0

fk1p+k0e2πi

¡m0k1 q +mk0N ¢

= 1

p

p1

X

k0=0

(1 q

q1

X

k1=0

fk1p+k0e2πim0qk1 )

e2πimk0N . Consequentemente,

(3) Cm=1

p

p1

X

k0=0

Ck(1)0 en2πimkN0,

ondeCk(1)0 s˜ao express˜oes semelhantes parecidas a deCm, mas n´umero menor de elementos na soma. A f´ormula (3) ´e uma rela¸c˜ao de recorrˆencia que ´e utilizada para o c´alculo dos coeficientesCm.

Quando N ´e potˆencia de dois ( N = 2s ), a redu¸c˜ao de Cm para Ck(1)0 e esses, para osCj(2), etc., ´e feita por f´ormulas simples e convenientes nas quais ´e baseado um algoritmo r´apido para o c´alculo deCm.

Vamos considerar, por exemplo, o caso p = q ≈ √

N. Neste caso para calcular todos os Ck(1)0 precisamos de pq2 multiplica¸c˜oes. Depois, para calcular todos osCmpela f´ormula (3) precisamos de maisqp2multiplica¸c˜oes. Em geral, obtemos

pq2+qp2=pq(p+q)≈2N√

N = 2N3/2,

o que, paraN grande, ´e significativamente menor queN2 multiplica¸c˜oes.

1.9 Fun¸ c˜ oes splines. Interpola¸ c˜ ao por splines

c´alculos computacionais com polinˆomios de alto grau criam alguns problemas, ´e desej´avel usar polinˆomios de grau n˜ao muito alto. Neste caso a ´unica oportuni- dade de aumentar a precis˜ao da aproxima¸c˜ao ´e trabalhar em intervalos menores.

Se o intervalo [a, b] ´e grande, ele se reparte em pequenos subintervalos [xi, xi+1], i = 0, . . . , m, e f(x) ´e aproximada, em [xi, xi+1], por um polinˆomio alg´ebrico pi(x) de algum graurbaixo. Deste modo, obtemos a aproxima¸c˜ao

f(x)≈P(x) :=pi(x) para x∈(xi, xi+1).

A fun¸c˜ao P(x) ´e uma curva polinomial por partes que aproxima o gr´afico de f com uma determinada precis˜ao. Em geral, P(x) ´e cont´ınua nos pontos x1, . . . , xm. Se f descreve um processo suave, ´e desej´avel que a fun¸c˜ao que aproxima tamb´em seja suave. Para atingir este efeito, imp˜oe-se a condi¸c˜ao adicional de que as partes polinomiais sejam conectadas suavemente, isto ´e, que as derivadas depi1(x) epi(x), at´e uma determinada ordem, coincidam no ponto de conex˜aoxi. Como resultado, obtemos uma curva suave que aproxima bemf. Tais curvas suaves que passam por alguns pontos dados s˜ao chamadas

”splines”.

As propriedades interessantes das fun¸c˜oes spline e as suas conex˜oes com outras ´areas da matem´atica mostram que o seu surgimento vem da l´ogica interna do desenvolvimento da pr´opria matem´atica.

Defini¸c˜ao 5 A fun¸c˜ao s(x) ´e chamada fun¸c˜ao spline de grau r com n´os x1 <

· · ·< xn se:

1. s(x)´e um polinˆomio de grau no m´aximorem cada subintervalo (xi, xi+1), i= 0, . . . , n, (x0=−∞, xn+1=∞);

2. s(x), s(x), . . . , s(r1)(x)s˜ao fun¸c˜oes cont´ınuas em(−∞,∞).

Daqui para frente, denotaremos por Sr(x1, . . . , xn) o conjunto das fun¸c˜oes spline de graurcom n´osx1, . . . , xn. Algumas vezes, em vez de escrever fun¸c˜ao- spline, escreveremos apenas ”spline”.

Como consequˆencia imediata da defini¸c˜ao , seguem as propriedades:

1. Ses∈Sr(x1, . . . , xn), ent˜aos´e uma spline de graur−1 com os mesmos n´os.

2. Se s∈Sr(x1, . . . , xn), ent˜ao ar-´esima derivada des´e fun¸c˜ao constante por partes com saltos eventualmente nos pontos x1, . . . , xn. Reciprocamente, a r-´esima fun¸c˜ao primitiva de uma fun¸c˜ao constante por partes com saltos nos pontosx1, . . . , xn ´e uma spline de graurcom n´osx1, . . . , xn.

A fun¸c˜ao potˆencia truncada (x−ξ)r+:=

½(x−ξ)r, sex≥ξ 0, sex < ξ

´e um exemplo simples de fun¸c˜ao spline. ´E uma spline de grau rcom um ´unico n´o no pontoξ. De fato, (x−ξ)r+ coincide com o polinˆomio (x−ξ)rparax≥ξ e com o polinˆomio p(x)≡0 para x < ξ. Al´em disso ©

(x−ξ)r+ª(i)

´e cont´ınua no pontox=ξ parai= 0, . . . , r−1 e atinge o valor 0 neste ponto. A fun¸c˜ao potˆencia truncada tem um papel importante na teoria das fun¸c˜oes spline.

Teorema 16 Toda fun¸c˜ao-spline s(x) da classe Sr(x1, . . . , xn) ´e unicamente representada por

(1) s(x) =p(x) +

n

X

k=1

ck(x−xk)r+ ,

ondep´e o polinˆomio de grau r ec1, . . . , cn s˜ao n´umeros reais. Al´em disso, (2) ck =s(r)(xk+ 0)−s(r)(xk−0)

r! , k= 1, . . . , n.

Demonstra¸c˜ao. Vamos esclarecer, primeiramente, que aqui usaremos a nota¸c˜ao f(x+ 0) := lim

h0,h>0f(x+h).

Analogamente, definimosf(x−0).

Seja s(x)∈ Sr(x1, . . . , xn). Ent˜ao, scoincide com algum polinˆomio Pk de grau r no subintervalo (xk, xk+1), k = 0, . . . , n. Desde que s(j)(x) ´e fun¸c˜ao cont´ınua no pontoxk,Pk(j)1(xk) =Pk(j)(xk) para j = 0, . . . , r−1. Consequen- temente

(3) Pk(x) =Pk1(x) +ck(x−xk)r para todo x,

onde ck ´e alguma constante. Esta ´e uma rela¸c˜ao de recorrˆencia para os po- linˆomios{Pk} que implica imediatamente na representa¸c˜ao

Pk(x) =P0(x) +

k

X

i=1

ci(x−xi)r.

Levando em considera¸c˜ao o fato de que s(x) coincide com Pk(x) para x ∈ (xk, xk+1) e a defini¸c˜ao da fun¸c˜ao potˆencia truncada, pela igualdade acima, obtemos

s(x) =P0(x) +

n

X

i=1

ci(x−xi)r+,

que ´e a representa¸c˜ao desejada.

Basta mostrar que os coeficientesck s˜ao unicamente determinados. De fato, pela rela¸c˜ao (3), derivandor vezes no pontoxk, obtemos

Pk(r)(xk) =Pk(r)1(xk) +ckr!

e, da’ı,

ckr! =s(r)(xk+ 0)−s(r)(xk−0), que coincide com a f´ormula (2).

O polinˆomiop(x) na representa¸c˜ao (1) ´e unicamente determinado pois coin- cide com o polinˆomioP0(x). O teorema est´a provado.

Desde que cada express˜ao da forma (1) ´e uma spline de classeSr(x1, . . . , xn), o teorema implica que Sr(x1, . . . , xn) coincide com o conjunto de todas as fun¸c˜oes da forma (1). Consequentemente, a dimens˜ao do espa¸co linearSr(x1, . . . , xn)

´e igual ar+n+ 1.

Discutiremos, agora, o problema de interpola¸c˜ao por fun¸c˜oes spline. Con- sideremos o problema de interpola¸c˜ao de Lagrange por splines de grau trˆes, chamadas tamb´em de splines c´ubicas. S˜ao as mais usadas na pr´atica.

Sejaf(x) uma fun¸c˜ao real cont´ınua em [a, b]. Queremos construir uma spline c´ubicas(x) com n´os em x1, . . . , xn que interpola f(x) nos pontos x0, . . . , xn+1

onde a = x0 < x1 < · · · < xn+1 = b. Construir s significa determinar os polinˆomios{Pi(x)} de grau trˆes que representams(x) nos intervalos (xi, xi+1), i= 0, . . . , n, respectivamente. As condi¸c˜oes de interpola¸c˜ao

s(xi) =f(xi), i= 0, . . . , n+ 1, implicam nas condi¸c˜oes sobre o polinˆomioPi:

(4) Pi(xi) =f(xi), Pi(xi+1) =f(xi+1), i= 0, . . . , n.

Notemos que as ´ultimas igualdades implicam imediatamente que Pi1(xi) =Pi(xi), i= 1, . . . , n,

o que garante que s(x) ´e fun¸c˜ao cont´ınua em [a, b]. Lembremos que todo po- linˆomio c´ubico ´e determinado por quatro condi¸c˜oes de interpola¸c˜ao. Por en- quanto, toda parte c´ubicaPi(x) des(x) interpolaf(x) somente nos pontosxi e xi+1. Portanto, temos `a disposi¸c˜ao mais duas condi¸c˜oes de interpola¸c˜ao. Esco- lheremos essas condi¸c˜oes de modo quesseja n˜ao apenas cont´ınua, mas que tenha primeira e segunda derivadas cont´ınuas, isto ´e, ques(x) seja spline c´ubica. H´a maneiras diferentes de escolher essas duas condi¸c˜oes de interpola¸c˜ao adicionais

que levam a m´etodos diferentes para fun¸c˜oes c´ubicas por partes. Por enquanto, vamos exigir quePi(x) satisfa¸ca `as condi¸c˜oes

(5) Pi(xi) =di, Pi(xi+1) =di+1, i= 0, . . . , n ,

onded0, . . . , dn+1 s˜ao parˆametros cuja escolha vai ser feita posteriormente. As

´

ultimas condi¸c˜oes garantem ques(x) ´e uma fun¸c˜ao cont´ınua em [a, b]. Para de- terminarPi(x) pelas condi¸c˜oes de interpola¸c˜ao de Hermite (4) e (5), utilizaremos a f´ormula de Newton

Pi(x) = Pi(xi) +Pi[xi, xi](x−xi) +Pi[xi, xi, xi+1](x−xi)2 +Pi[xi, xi, xi+1, xi+1](x−xi)2(x−xi+1).

Determinaremos os coeficientes pela tabela para o c´alculo das diferen¸cas dividi- das. Vamos introduzir a nota¸c˜ao ∆i:=xi+1−xi. Temos:

Pi(xi) = f(xi), Pi[xi, xi] = di ,

Pi[xi, xi+1] = f[xi, xi+1], Pi[xi, xi, xi+1] = f[xi, xi+1]−di

i

, Pi[xi, xi, xi+1, xi+1] = di+1−2f[xi, xi+1] +di

(∆i)2 .

Observe que todas as diferen¸cas divididas dePi em quatro pontos s˜ao idˆenticas e iguais ao coeficiente do termo de maior grau de Pi(x).

Escolhendo os parˆametros {di}n+10 de modos diferentes obtemos diferentes fun¸c˜oes interpoladoras. Tomemos um caso particular especial.

Interpola¸c˜ao c´ubica de Hermite por partes. Escolhemos di=f(xi), i= 0, . . . , n+ 1.

Neste caso, Pi(x) depende somente do comportamento de f(x) em [xi, xi+1].

Parax∈[xi, xi+1] obtemos

|f(x)−s(x)| = |(x−xi)2(x−xi+1)2|.|f[xi, xi, xi+1, xi+1, x]|

≤ µ∆i

2

4

ξ[xmaxi,xi+1]

¯¯f(4)(ξ)¯

¯ 4!

sob a hip´otese de que f tenha derivada cont´ınua de ordem quatro em [a, b].

Consequentemente, para todoxde [a, b], obtemos

|f(x)−s(x)| ≤ max

ξ[a,b]

¯

¯

¯f(4)(ξ)¯

¯

¯ µ

0maxini

4

384 .

Interpola¸c˜ao por spline c´ubica. Como j´a notamos, a fun¸c˜ao s(x) de- terminada pelas condi¸c˜oes (4) e (5), n˜ao ´e apenas cont´ınua para qualquer es- colha dos parˆametros di. Mostremos, agora, que sempre ´e poss´ıvel escolher os parˆametros{di}de modo que a fun¸c˜aos(x) tenha a segunda derivada cont´ınua, isto ´e, ques(x) seja spline c´ubica.

A nossa exigˆencia de que s′′(x) seja cont´ınua ´e equivalente `as condi¸c˜oes (6) Pi′′1(xi) =Pi′′(xi), i= 1, . . . , n.

Usando a representa¸c˜ao j´a obtida pela f´ormula de Newton de Pi1 e Pi

obtemos:

Pi′′(xi) = 2Pi[xi, xi, xi+1]−2Pi[xi, xi, xi+1, xi+1]∆i, Pi′′1(xi) = 2Pi1[xi1, xi1, xi] + 4Pi1[xi1, xi1, xi, xi]∆i1.

Substituindo as diferen¸cas divididas pelas express˜oes obtidas acima e por (6), obtemos

f[xi1, xi]−di1

i1

+ 2di−2f[xi1, xi] +di1

i1

= f[xi, xi+1]−di

i −di+1−2f[xi, xi+1] +di

i

. Colocando sob o mesmo denominador comum chegamos `a igualdade (7) ∆idi1+ 2(∆i1+ ∆i)di+ ∆i1di+1 =bi, i= 1, . . . , n, onde

bi = 3(f[xi1, xi]∆i+f[xi, xi+1]∆i1), i= 1, . . . , n.

Vamos supor qued0edn+1s˜ao escolhidos de alguma maneira. Assim, por (7), obtemos um sistema linear de n equa¸c˜oes com n inc´ognitas d1, . . . , dn. Este sistema tem diagonal principal dominante, isto ´e, o m´odulo do elemento da diagonal ´e maior do que a soma dos m´odulos de todos os elementos da mesma linha fora da diagonal. ´E f´acil mostrar que toda matriz com diagonal principal

dominante tem determinante n˜ao-nulo. Portanto, o sistema (7) sempre tem uma

´

unica solu¸c˜ao para qualquer escolha ded0 edn+1.

Existem duas maneiras diferentes de escolher os parˆametrosd0 edn+1. I) Se f(a) e f(b) s˜ao conhecidas, ´e natural escolher

d0=f(a), dn+1=f(b).

Deste modo, ´e obtida a chamada interpola¸c˜ao por spline c´ubica completa.

II) Outra maneira de escolherd0 edn+1´e adicionar as equa¸c˜oes s′′(a) = P0′′(x0) = 0,

s′′(b) = Pn′′(xn+1) = 0,

que junto com (7), formam um sistema linear de n+ 2 equa¸c˜oes com n+ 2 inc´ognitasd0, . . . , dn+1. Assim, obtemos a interpola¸c˜ao spline c´ubica natural.

As splines c´ubicas com n´os x0, x1, . . . , xn+1 que coincidem com polinˆomios de grau um nos intervalos (−∞, x0) e (xn+1,∞) s˜ao chamadas splines c´ubicas naturais. Vˆe-se que as splines c´ubicas naturais s˜ao determinadas unicamente pelas condi¸c˜oes s′′(a) = s′′(b) = 0. Essas splines s˜ao chamadas naturais de- vido ao comportamento natural delas. Elas descrevem suficientemente bem o comportamento de uma barra el´astica presa por an´eis colocados nos pontos {xi, f(xi)}n+10 . ´E claro que tal barra vai ficar como uma reta antes do primeiro e depois do ´ultimo anel. A ferramenta de desenho t´ecnico chamada ”spline”, que j´a mencionamos, consiste de uma barra flex´ıvel e de objetos para fix´a-la `a prancha de desenho.

Provaremos uma propriedade extremal das splines naturais. Esta proprie- dade mostra que elas s˜ao as fun¸c˜oes mais suaves, em algum sentido, entre todas as outras que interpolam uma dada tabela.

Sejam ¯x= (x0, . . . , xn+1) alguns pontos dados,a=x0<· · ·< xn+1 =b, e

¯

y = (y0, . . . , yn+1) valores dados. Denotemos porF(¯x,y) a classe de todas as¯ fun¸c˜oesf cujas segundas derivadas s˜ao cont´ınuas em [a, b] e que satisfazem `as condi¸c˜oes de interpola¸c˜ao

f(xk) =yk, para k= 0, . . . , n+ 1.

Teorema 17 (Hollyday) Para x¯ e y¯ dados, seja s(x) a ´unica spline c´ubica com n´osx0, . . . , xn+1, que pertence `a classe F(¯x,y). Ent˜¯ ao,

Z b a

s′′2(x)dx≤ Z b

a

f′′2(x)dx para toda f ∈F(¯x,y).¯ A igualdade ´e atingida somente paraf ≡s.

Demonstra¸c˜ao. Seja f uma fun¸c˜ao arbitr´aria de F(¯x,y) e seja¯ s(x) uma spline c´ubica deF(¯x,y) com n´os¯ x0, . . . , xn+1. A integral

σ:=

Z b a

[f′′(x)−s′′(x)]s′′(x)dx

pode ser facilmente calculada. De fato, integrando por partes, obtemos

σ =

n+1

X

i=1

Z xi

xi1

[f′′(x)−s′′(x)]s′′(x)dx

=

n+1

X

i=1

s′′(x) [f(x)−s(x)]

¯

¯

¯

¯

¯

xi

xi1

n+1

X

i=1

Z xi

xi1

[f(x)−s(x)]s′′′(x)dx.

Mas, s´e uma spline c´ubica. Logos coincide com um polinˆomio de grau trˆes no subintervalo (xi1, xi) e, portanto,s′′′(x) ´e constante em (xi1, xi). Vamos denotar esta constante porci. Obtemos, ent˜ao,

σ=

n+1

X

i=1

s′′(x) [f(x)−s(x)]

¯

¯

¯

¯

¯

xi

xi1

n+1

X

i=1

ci[f(x)−s(x)]

¯

¯

¯

¯

¯

xi

xi1

.

A ´ultima soma ´e igual a zero porquef, s∈F(¯x,y) e, consequentemente,¯ f(xj)−s(xj) =yj−yj= 0 para j= 0, . . . , n+ 1.

Al´em disso a fun¸c˜ao s′′(x) [f(x)−s(x)] ´e cont´ınua nos pontos {xj}n+10 . Por- tanto, a soma de todos os termos que contˆem os valores desta fun¸c˜ao nos pontos interiores ´e nula pois participam de dois termos consectivos da soma com sinais opostos. V˜ao sobrar somente os valores no primeiro e no ´ultimo ponto. Assim, obtemos

(8) σ=

Z b a

[f′′(x)−s′′(x)]s′′(x)dx=s′′(b) [f(b)−s(b)]−s′′(a) [f(a)−s′′(a)]. Observe, agora, que se s ´e uma spline natural de F(¯x,y), ent˜ao¯ s′′(a) = s′′(b) = 0 e, consequentemente, σ = 0. Em outras palavras, as fun¸c˜oes f′′(x)−s′′(x) e s′′(x) s˜ao ortogonais. Mas, se duas fun¸c˜oes f1 e f2 s˜ao or- togonais, obviamente

Z b a

f12(x)dx≤ Z b

a

[f1(x) +f2(x)]2dx,

e a igualdade ´e atingida somente quandof2(x)≡0. Aplicando este fato para f1=s′′(x) ef2=f′′(x)−s′′(x), obtemos

Z b a

s′′2(x)dx≤ Z b

a

[f′′(x)−s′′(x) +s′′(x)]2dx= Z b

a

f′′2(x)dx.

A igualdade ´e atingida somente para f2 =f′′−s′′ ≡ 0. Ent˜ao, f −s ´e um polinˆomio de grau um. Desde quef−s´e zero emx0, . . . , xn+1, pelas defini¸c˜oes de f e de s, obviamente f ≡ s. Ent˜ao, a igualdade ´e atingida somente para f ≡s. O teorema est´a provado.

O mesmo teorema vale seF´e a classe das fun¸c˜oes que satisfazem `as condi¸c˜oes de interpola¸c˜ao

f(xi) =yi, i= 0, . . . , n+ 1, f(a) =y0, f(b) =yn+1 ,

es´e a spline c´ubica que realiza a interpola¸c˜ao spline c´ubica completa. De fato, neste caso,

f(a)−s(a) = 0, f(b)−s(b) = 0,

e, por (8), novamente segue que as fun¸c˜oesf′′(x)−s′′(x) es′′(x) s˜ao ortogonais.