Anda di halaman 1dari 64

1

INTERPOLAO E APROXIMAO DE FUNES

1. Introduo

H duas formas bsicas empregadas na representao numrica de funes (com expresso


analtica conhecida ou no) ou de um conjunto discreto de dados que descrevem entidades
geomtricas tais como curvas e superfcies. Elas so dadas pelas tcnicas de interpolao e
aproximao.

Na interpolao deseja-se encontrar uma funo g(x) que possa substituir a funo
verdadeira f(x) de tal forma que g(xi*) = f(xi*), onde xi* pode ser um ponto ou um conjunto
de pontos no intervalo de validade de f(x) onde a condio acima satisfeita. Ou ainda, a
partir de uma srie de dados discretos em determinados pontos do espao, deseja-se buscar
uma funo g(x) que represente uma curva ou superfcie que passe por estes pontos.

Na aproximao tem-se uma funo dada f(x) ou uma srie de dados discretos em pontos do
espao e deseja-se obter uma funo g(x) que seja a mais aproximada possvel de f(x).
Portanto, ao contrrio da tcnica de interpolao, deseja-se aqui uma funo g(x) que
aproxime a funo f(x), a qual no precisa necessariamente satisfazer de forma exata a
funo ou os dados fornecidos.

2. Interpolao

O problema geral da interpolao pode ser estabelecido da seguinte forma: dada uma lista
de dados com n + 1 pontos definidos por (xi, f(xi)), deseja-se obter os valores f(x*), com x*
xi, tal que:

g ( xi ) = f ( xi ) ( xi , x0 xi xn , i = 0, n )
g ( x) f ( x) ( x ( x , x ) )
0 n

A funo g(x) usada para interpolar a funo f(x) pode pertencer a uma das seguintes
famlias:

- funes polinomiais: y(x) = a0 + a1.x + a2.x2 + ... + an.xn

- srie de Fourier: yj(x) = aj.cos(jx) + bj.sen(jx)


2

- funes exponenciais: y(x) = a.ebx

- splines: pedaos de polinmios, funes formadas por emendas suaves de polinmios.

2.1 Interpolao polinomial

Dado um conjunto de n + 1 pontos distintos definidos por (xi, f(xi)), com i = 0,n, a
interpolao polinomial consiste em obter um polinmio P(x) que passe por estes pontos,
isto :

P ( xi ) = f ( xi ) ( xi , x0 xi xn , i = 0, n )
Para os demais pontos, tem-se que:

P ( x) f ( x) ( x ( x , x ) )
0 n

O polinmio P(x) dito polinmio interpolador de f(x) no intervalo [x0, xn].

Existncia e unicidade da soluo

Dados xi R e f(xi) R, com i = 0,n. Deseja-se obter P(x) tal que P(xi) = f(xi) para i = 0,n.
Sendo:
n
P ( x ) = ak x k
k =0

e considerando-se a condio imposta (P(xi) = f(xi)) sobre P(x), obtm-se:


n
f ( xi ) = ak xik (i = 0, n)
k =0

Logo, tem-se o seguinte sistema:

a0 + a1 x0 + a2 x02 + + an x0n = f 0

a0 + a1 x1 + a2 x1 + + an x1 = f1
2 n

a0 + a1 xn + a2 xn2 + + an xnn = f n

O sistema acima um sistema linear de ordem n + 1, onde as n + 1 incgnitas so as


constantes ak (k = 0,n) e a matriz de coeficientes composta pelas coordenadas xk, isto :

1 x0 x02 x0n

1 x1 x12 x1n
X =1 x2 x2
x2n

2


1 xn x2
xnn
n
3

A matriz acima uma matriz de Vandermonde, cujo determinante expresso por:

n 1 n
det X = ( x j xi )
i = 0 j = i +1

Assim, det X 0 i (i = 0,n) e j (j = 0,n) e i j, xi xj. Como os pontos so distintos, a


diferena xj xi ser sempre diferente de zero e, portanto, o polinmio interpolador existe e
tambm nico.

2.1.1 Polinmio de Taylor

Os polinmios de Taylor so definidos por:

n
f ( k ) ( x0 )
Pn ( x) = ( x x0 )
k

k =0 k!

onde f(k) representa a derivada de ordem k da funo interpolada f(x), sendo avaliada em x =
x0. O elemento Pn(x) chamado de Polinmio de Taylor de grau n. Tomando-se o limite de Pn
para n , obtm-se a chamada srie de Taylor com f centrada em x0.

A partir de uma representao em polinmios de Taylor para uma funo f(x) qualquer,
obtm-se uma aproximao para uma funo dada em um ponto especfico. Com isso, a
preciso da interpolao ser satisfatria apenas na regio prxima ao ponto x0.

Exemplo 1: representar a funo y = ex atravs dos seis primeiros polinmios de Taylor


centrados em x0 = 0.

P0 ( x0 = 0) = 1 P1 ( x0 = 0) = 1 + x

x2 x 2 x3
P2 ( x0 = 0) = 1 + x + P3 ( x0 = 0) = 1 + x + +
2 2 6

x 2 x3 x 4 x 2 x3 x 4 x5
P4 ( x0 = 0) = 1 + x + + + P5 ( x0 = 0) = 1 + x + + + +
2 6 24 2 6 24 120

Observa-se na figura abaixo que medida que aumentado o grau do polinmio,


aproximaes melhores so obtidas, embora o erro torna-se maior quando se afasta da
posio x0 = 0, independentemente do grau do polinmio usado.
4

Exemplo 2: aproximar a funo y(x) = 1/x em x = 3 utilizando polinmios de Taylor centrados


em x0 = 1.

Sendo:

f ( x ) = x 1 f ( x) = x 2

f ( x ) = ( 1) .2 x 3 f ( k ) ( x ) = ( 1) k ! x k 1
2 k

Neste caso, os polinmios de Taylor so dados por:

n
f ( k ) (1) n
Pn ( x) = ( x 1) = ( 1) ( x 1)
k k k

k =0 k! k =0

Assim, obtm-se a seguinte tabela de resultados:

n 0 1 2 3 4 5 6 7
Pn(3) 1 -1 3 -5 11 -21 43 -85

Observa-se que aumentar o grau n do polinmio resulta em perda crescente de preciso.


Alm disso, a aproximao dada neste no consegue obter valores satisfatrios para
nenhum grau n utilizado. Isto evidencia a dificuldade dos polinmios de Taylor para
aproximar funes em pontos afastados de x0.

2.1.2 Polinmio de Lagrange

A determinao de um polinmio de 1 grau que passe pelos pontos (x0, y0) e (x1, y1) uma
situao similar aproximao de uma funo f(x) para a qual f(x0) = y0 e f(x1) = y1 usando a
tcnica de interpolao com um polinmio de 1 grau que concorde com os valores de f nos
pontos dados (ver figura abaixo). Assim, define-se:

P ( x) = L0 ( x) f ( x0 ) + L1 ( x) f ( x1 )
5

onde:

x x1 x x0
L0 ( x ) = L1 ( x ) =
x0 x1 x1 x0

Como L0(x0) = 1, L0(x1) = 0, L1(x0) = 0 e L1(x1) = 1, conclui-se que P(x) a nica funo linear
que passa por (x0, y0) e (x1, y1).

Generalizando, para um polinmio de grau n (ou pelo menos n) que passe por n + 1 pontos
[(x0, f(x0)); (x1, f(x0));...; (xn, f(xn))] necessrio obter uma funo Ln,k para cada k (k = 0,n)
com as seguintes propriedades (ver figura abaixo):

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

Para satisfazer a condio Ln,k(xi) = 0 para cada i k, o numerador de Ln,k(x) deve ser expresso
por:

( x x0 )( x x1 ) ( x xk 1 )( x xk +1 ) ( x xn )

Para satisfazer a condio Ln,k(xi) = 1 para i = k, o denominador de Ln,k(x) deve igual a


expresso acima avaliada em x = xk. Assim, obtm-se que:
6

( x x0 ) ( x xk 1 )( x xk +1 ) ( x xn )
Ln ,k ( xi ) =
( xk x0 ) ( xk xk 1 )( xk xk +1 ) ( xk xn )

Portanto, o polinmio interpolador de Lagrange de grau n pode ser definido da seguinte


forma: dados n + 1 pontos distintos (x0, x1, ..., xn) e uma funo f(x) com valores conhecidos
neste pontos, ento existe um nico polinmio P(x) de grau pelo menos n que satisfaz a
condio f(xk) = P(xk) para k = 0, 1, ..., n. Esse polinmio dado pela soma de n + 1
polinmios de grau n, isto :
n
Pn ( x ) = f ( xk )Lk ( x )
k =0

sendo:

( x x0 ) ( x xk 1 )( x xk +1 ) ( x xn )
Lk ( x ) =
( xk x0 ) ( xk xk 1 )( xk xk +1 ) ( xk xn )

ou seja:
n
( x xi )
Lk ( x) =
i=0 ( xk xi )
(i k )
7

A frmula de Lagrange permite calcular a expresso do polinmio interpolador sem resolver


o sistema linear que define seus coeficientes. Alm disso, traz vantagens quando se deseja
realizar interpolaes a partir de dados discretos, onde calcula-se apenas o valor numrico
de cada Li(x) no ponto desejado, ou seja:
n
Pn ( x ) = Lk ( x ) ( x [ x , x ])
0 n
k =0

Exemplo 1: para os dados abaixo, calcule uma aproximao para a funo f(x) em x = 2,3
usando interpolao por polinmios de Lagrange.

i xi f(xi)
0 2,0 0,31495
1 2,4 0,02056
2 2,6 -0,09682
3 2,8 -0,18505

Como o nmero de pontos disponveis 4, empregam-se polinmios de grau 3. Portanto:


n
Pn ( x) = f ( xk ) Lk ( x)
k =0

P3 (2,3) = f ( x0 ) L0 (2,3) + f ( x1 ) L1 (2, 3) + f ( x2 ) L2 (2,3) + f ( x3 ) L3 (2, 3)

onde:
8

( x x1 )( x x2 )( x x3 )
L0 ( x) =
( x0 x1 )( x0 x2 )( x0 x3 )
(2, 3 2, 4)(2,3 2, 6)(2, 3 2,8)
L0 (2,3) = = 0, 078125
(2, 0 2, 4)(2, 0 2, 6)(2, 0 2,8)

( x x0 )( x x2 )( x x3 )
L1 ( x) =
( x1 x0 )( x1 x2 )( x1 x3 )
(2,3 2, 0)(2, 3 2, 6)(2,3 2,8)
L1 (2, 3) = = 1, 40625
(2, 4 2, 0)(2, 4 2, 6)(2, 4 2,8)

( x x0 )( x x1 )( x x3 )
L2 ( x) =
( x2 x0 )( x2 x1 )( x2 x3 )
(2,3 2, 0)(2,3 2, 4)(2,3 2,8)
L2 (2,3) = = 0, 625
(2, 6 2, 0)(2, 6 2, 4)(2, 6 2,8)

( x x0 )( x x1 )( x x2 )
L3 ( x) =
( x3 x0 )( x3 x1 )( x3 x2 )
(2, 3 2, 0)(2, 3 2, 4)(2, 3 2, 6)
L3 (2, 3) = = 0,140625
(2,8 2, 0)(2,8 2, 4)(2,8 2, 6)

Assim:

P3 (2,3) = 0, 31495.0, 078125 + 0, 02056.1, 40625 +


( 0, 09682).( 0, 625) + ( 0,18505).0,140625
P3 (2,3) = 0, 088008

Exemplo 2: a partir dos dados fornecidos abaixo, determinar o polinmio interpolador de


Lagrange que passa por estes pontos:

xi -2 -1 1
f(xi) -11 5 0,75

Como so fornecidos 3 pontos, tem-se um polinmio interpolador de grau 2, dado por:


2
P2 ( x ) = f ( xk ) Lk ( x ) = f ( x0 ) L0 ( x ) + f ( x1 ) L1 ( x) + f ( x2 ) L2 ( x )
k =0

onde:

( x x1 )( x x2 )
L0 ( x ) =
( x0 x1 )( x0 x2 )
( x + 1)( x 1) x2 1
L0 ( x ) = =
( 2 + 1)( 2 1) 3
9

( x x0 )( x x2 )
L1 ( x) =
( x1 x0 )( x1 x2 )
( x + 2)( x 1) x2 + x 2
L1 ( x) = =
(1 + 2)(1 1) 2

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

Portanto, tem-se:

x2 1 x2 + x 2 x2 + 3x + 2
P2 ( x ) = ( 11) + .5 + .0, 75
3 2 6
P2 ( x ) = ( 3, 6667 x 2 + 3, 6667 ) + ( 2, 5 x 2 2, 5 x + 5 ) + ( 0,125 x 2 + 0,375 x + 0, 25 )

P2 ( x ) = 6, 0417 x 2 2,125 x + 8,9167

Uma das dificuldades encontradas na interpolao por polinmios de Lagrange est na


dificuldade de se determinar o erro associado ao resultado obtido com a funo
interpoladora. Assim, para contornar esta dificuldade, o que pode ser feito ir obtendo-se
novos resultados com o aumento gradativo do grau do polinmio interpolador at que se
tenha um resultado com nvel de preciso que seja satisfatrio. Entretanto, o custo em
termos de clculos imenso se o grau do polinmio necessrio para a obteno de um
resultado preciso for alto. Por sorte, possvel demonstrar que os polinmios de Lagrange
podem ser gerados de forma recursiva empregando-se o Mtodo de Neville.

Seja f(x) uma funo definida nos pontos x0, x1, ..., xn e supondo que m1, m2, ..., mk sejam k
nmeros inteiros distintos com 0 mi n, o polinmio de Lagrange que concorda com f(x)
nos k pontos xm1, xm2, ..., xmk pode ser descrito por:

Para 1 ponto (constante): P0 ( xi ) = f ( xi )

Para 2 pontos (grau 1): P1 ( xi , xi +1 ) =


( x xi +1 ) P0 ( xi ) + ( xi x ) P0 ( xi +1 )
( xi xi +1 )

Para 3 pontos (grau 2): P2 ( xi , xi +1 , xi + 2 ) =


( x xi + 2 ) P1 ( xi , xi +1 ) + ( xi x ) P1 ( xi +1 , xi + 2 )
( xi xi + 2 )
Para k+1 pontos (frmula recursiva grau k):

Pk ( xi , xi +1 , , xi + k ) =
( x xi + k ) Pk 1 ( xi , xi +1 ,, xi + k 1 ) + ( xi x ) Pk 1 ( xi +1 , xi + 2 , , xi + k )
( xi xi + k )
10

Para a obteno da interpolao por polinmios de Lagrange de uma curva qualquer em um


ponto x contido no intervalo de validade da funo da curva f(x) pode-se utilizar uma tabela
como mostrado abaixo, para o caso de um polinmio de grau 3:

i xi k=0 k=1 k=2 k=3


0 x0 P0(x0) = f(x0) P1(x0, x1) P2(x0, x1, x2) P3(x0, x1, x2, x3)
1 x1 P0(x1) = f(x1) P1(x1, x2) P2(x1, x2, x3) -
2 x2 P0(x2) = f(x2) P1(x2, x3) - -
3 x3 P0(x3) = f(x3) - - -

No caso, P3(x0, x1, x2, x3) fornece a soluo do problema de interpolao.

Exemplo 3: obter o valor da funo f(x) em x = 1,5 a partir dos dados fornecidos na tabela
abaixo usando polinmios de Lagrange pelo mtodo recursivo de Neville.

i xi f(xi)
0 1,0 0,7651977
1 1,3 0,6200860
2 1,6 0,4554022
3 1,9 0,2818186
4 2,2 0,1103623

Na tabela abaixo se pode constatar que a coluna referente aos polinmios de grau zero
(constantes) que representam a funo f(x) em x = 1,5 preenchida pelos prprios valores
f(xi). Os valores dos polinmios para grau 1 so dados por:

P1 ( xi , xi +1 ) =
( x xi +1 ) P0 ( xi ) + ( xi x ) P0 ( xi +1 )
( xi xi +1 )

P1 ( x0 , x1 ) =
(1,5 1, 3) P0 (1, 0) + (1, 0 1, 5 ) P0 (1, 3) = 0, 5233449
(1, 0 1,3)

P1 ( x1 , x2 ) =
(1,5 1, 6 ) P0 (1, 3) + (1,3 1,5 ) P0 (1, 6) = 0, 5102968
(1, 3 1, 6 )

P1 ( x2 , x3 ) =
(1,5 1, 9 ) P0 (1, 6) + (1, 6 1, 5 ) P0 (1, 9) = 0, 5132634
(1, 6 1, 9 )

P1 ( x3 , x4 ) =
(1,5 2, 2 ) P0 (1, 9) + (1,9 1, 5) P0 (2, 2) = 0, 5233449
(1,9 2, 2 )
Os polinmios de grau 2 so dados por:
11

P2 ( xi , xi +1 , xi + 2 ) =
( x xi + 2 ) P1 ( xi , xi +1 ) + ( xi x ) P1 ( xi +1 , xi + 2 )
( xi xi + 2 )

P2 ( x0 , x1 , x2 ) =
(1,5 1, 6 ) P1 ( x0 , x1 ) + (1, 0 1,5 ) P1 ( x1 , x2 ) = 0,5124715
(1, 0 1, 6 )

P2 ( x1 , x2 , x3 ) =
(1,5 1,9 ) P1 ( x1 , x2 ) + (1, 3 1, 5 ) P1 ( x2 , x3 ) = 0, 5112857
(1, 3 1, 9 )

P2 ( x2 , x3 , x4 ) =
(1,5 2, 2 ) P1 ( x2 , x3 ) + (1, 6 1, 5 ) P1 ( x3 , x4 ) = 0,5137361
(1, 6 2, 2 )
Os polinmios de grau 3 so dados por:

P3 ( xi , xi +1 , xi + 2 , xi +3 ) =
( x xi +3 ) P2 ( xi , xi +1 , xi + 2 ) + ( xi x ) P2 ( xi +1 , xi + 2 , xi +3 )
( xi xi +3 )

P3 ( x0 , x1 , x2 , x3 ) =
(1, 5 1,9 ) P2 ( x0 , x1 , x2 ) + (1, 0 1, 5 ) P2 ( x1 , x2 , x3 ) = 0, 5118127
(1, 0 1, 9 )

P3 ( x1 , x2 , x3 , x4 ) =
(1, 5 2, 2 ) P2 ( x1 , x2 , x3 ) + (1, 3 1, 5 ) P2 ( x2 , x3 , x4 ) = 0,5118302
(1, 3 2, 2 )
Por fim, o polinmio de grau 4 dados por:

P4 ( xi , xi +1 , xi + 2 , xi +3 , xi + 4 ) =
( x xi + 4 ) P3 ( xi , xi +1 , xi + 2 , xi +3 ) + ( xi x ) P3 ( xi +1 , xi + 2 , xi +3 , xi + 4 )
( xi xi + 4 )

P4 ( x0 , x1 , x2 , x3 , x4 ) =
(1,5 2, 2 ) P3 ( x0 , x1 , x2 , x3 ) + (1, 0 1,5 ) P3 ( x1 , x2 , x3 , x4 ) = 0,5118200
(1, 0 2, 2 )
i xi P0 P1 P2 P3 P4
0 1,0 0,7651977 0,5233449 0,5124715 0,5118127 0,5118200
1 1,3 0,6200860 0,5102968 0,5112857 0,5118302 -
2 1,6 0,4554022 0,5132634 0,5137361 - -
3 1,9 0,2818186 0,5104270 - -
4 2,2 0,1103623 - - -

Portanto, considerando que o resultado exato para 7 casas decimais f(x = 1,5) = 0,5118277,
os 3 resultados mais prximos obtidos so P4(x0, x1, x2, x3, x4) = 0,5118200, P3(x1, x2, x3, x4) =
12

0,5118302 e P3(x0, x1, x2, x3) = 0,5118127. Para obter um valor mais preciso, seria necessrio
acrescentar um novo ponto x e determinar o polinmio P5(x0, x1, x2, x3, x4, x5).

2.1.3 Polinmios de Newton diferenas finitas e diferenas divididas

Supondo que Pn(x) seja o polinmio de Lagrange de grau n e que concorde com a funo f(x)
em diferentes posies x0, x1, ..., xn, as diferenas divididas de f(x) com relao a x0, x1, ..., xn
podem ser utilizadas para expressar Pn(x) na seguinte forma:

Pn ( x) = a0 + a1 ( x x0 ) + a2 ( x x0 )( x x1 ) + + an ( x x0 )( x x1 ) ( x xn 1 )

sendo a0, a1, ..., an constantes apropriadas.

Para determinar a0, toma-se Pn(x) em x = x0, isto :

Pn ( x0 ) = f ( x0 ) = a0

Da mesma forma, para obter a1 considera-se Pn(x) em x = x1, ou seja:

Pn ( x1 ) = f ( x1 ) = f ( x0 ) + a1 ( x1 x0 )

Logo:

f ( x1 ) f ( x0 )
a1 =
x1 x0

A diferena dividida de grau zero da funo f(x) em relao a xi, representada por f[xi],
dada por:

f [ xi ] = f ( xi )

A diferena dividida de 1 ordem de f(x) em relao a xi e xi+1, representada por f[xi, xi+1],
definida por:

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

A diferena dividida de 2 ordem de f(x) em relao a xi, xi+1 e xi+2, representada por f[xi, xi+1,
xi+2], definida por:

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

Generalizando, a diferena dividida de ordem k de f(x) em relao a xi, xi+1, ..., xi+k, dada
por:
13

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

Assim, o polinmio interpolador Pn(x) pode ser redefinido como:


n
Pn ( x ) = f [ x0 ] + f [ x0 , x1 , , xk ] ( x x0 ) ( x xk 1 )
k =1

onde identificam-se f[x0, x1, ..., xk] = ak e f[x0] = a0. A frmula acima conhecida como
frmula interpoladora das diferenas divididas de Newton, na qual o valor f[x0, x1, ..., xk]
independe da ordem dos nmeros x0, x1, ..., xk. Os pontos xi podem ter espaamento
qualquer, no necessitando que estejam dispostos de forma equidistante.

Exemplo 1: obtenha as diferenas divididas para uma funo f(x) representada pelos dados
fornecidos abaixo:

i xi f(xi) f[xi, xi+1] f[xi, xi+1, xi+2] f[xi, xi+1, xi+2, xi+3]
0 1,5 2,30 0,6 0,2 0,222
1 1,8 2,48 0,7 0,333 -
2 2,0 2,62 0,8 - -
3 2,1 2,70 - - -

A frmula de diferenas divididas de Newton modificada quando se consideram os pontos


x0, x1, ..., xn dispostos consecutivamente e com espaamento igual. Quando os pontos xi so
equidistantes, as diferenas obtidas so chamadas de diferenas finitas. Neste caso, tem-se
que:

x = x0 + sh

sendo:

h = xi +1 xi (i = 0, n 1)

Assim, a diferena x xi pode ser expressa por x xi = (s i)h. Logo, o polinmio interpolador
Pn(x) vem dado por:

Pn ( x ) = Pn ( x0 + sh)
Pn ( x0 + sh) = f [ x0 ] + shf [ x0 , x1 ] +
s ( s 1) h 2 f [ x0 , x1 , x2 ] + + s ( s 1)( s n + 1) h n f [ x0 , x1 , , xn ]

n
Pn ( x0 + sh) = s ( s 1) ( s k + 1) h k f [ x0 , x1 , , xk ]
k =0

Usando a definio de coeficiente binomial:


14

s s ( s 1) ( s k + 1)
=
k k!

obtm-se a chamada frmula de diferenas divididas ascendentes de Newton, expressa da


seguinte forma:

n
s
Pn ( x) = Pn ( x0 + sh) = f [ x0 ] + k !h k f [ x0 , x1 , , xk ]
k =1 k

As diferenas ascendentes associadas a uma funo f(x) qualquer so definidas por:

f ( xi ) = f ( xi +1 ) f ( xi ) (diferena de 1 ordem)

2 f ( xi ) = ( f ( xi ) ) = ( f ( xi +1 ) f ( xi ) ) = f ( xi +1 ) f ( xi ) = f ( xi + 2 ) 2 f ( xi +1 ) + f ( xi )
(diferena de 2 ordem)

n f ( xi ) = n 1 ( f ( xi ) ) = n 1 ( f ( xi +1 ) f ( xi ) ) = n 1 f ( xi +1 ) n 1 f ( xi )
(diferena de n-sima ordem)

Exemplo 2: obtenha as diferenas ascendentes nf(x) at a ordem mxima para os dados


fornecidos abaixo (xi, f(xi)), representando uma funo f(x) qualquer:

I xi f(xi) f(xi) 2f(xi) 3f(xi) 4f(xi) 5f(xi)


0 2,55 3,5918 0,4212 -1,1386 1,2649 -1,9626 4,2605
1 2,60 4,0130 -0,7174 0,1263 -0,6977 2,2979 -
2 2,65 3,2956 -0,5911 -0,5714 1,6002 - -
3 2,70 2,7045 -1,1625 1,0288 - - -
4 2,75 1,5420 -0,1337 - - - -
5 2,80 1,4083 - - - - -

Exemplo 3: verifique o grau mximo do polinmio interpolador de uma funo f(x)


representada pelos dados fornecidos abaixo (xi, f(xi)):

i xi f(xi) f(xi) 2f(xi) 3f(xi) 4f(xi)


0 -1 3 -3 0 12 0
1 0 0 -3 12 12 -
2 1 -3 9 24 - -
3 2 6 33 - - -
4 3 39 - - - -

Observa-se que a coluna correspondente s diferenas 3f(xi) apresentam valores


constantes, indicando que o grau do polinmio interpolador ser igual a 3.
15

Uma vez definidas as diferenas ascendentes nf(x) de uma funo f(x) em x = xi, relaes
com as respectivas diferenas divididas de ordem n podem ser estabelecidas atravs das
seguintes expresses:

f ( xi +1 ) f ( xi ) 1
f [ xi , xi +1 ] = = f ( xi ) (1 ordem)
xi +1 xi h

1 f ( xi +1 ) f ( xi ) 1
f [ xi , xi +1 , xi + 2 ] = = 2 2 f ( xi ) (2 ordem)
2h h 2h

1
f [ xi , xi +1 , , xk ] = k f ( xi ) (ordem k)
k !h k

Assim, empregando a definio de diferenas ascendentes, obtm-se a frmula das


diferenas ascendentes de Newton:

n
s
Pn ( x) = f [ x0 ] + k f ( x0 )
k =1 k

Se os pontos x0, x1, ..., xn encontram-se dispostos de forma descendente, ou seja, xn, xn-1, ...,
x0, a frmula para o polinmio interpolador Pn(x) dada por:

Pn ( x) = f [ xn ] + f [ xn , xn 1 ] ( x xn ) + f [ xn , xn 1 , xn 2 ] ( x xn )( x xn 1 ) + +
f [ xn , , x0 ] ( x xn )( x xn 1 ) ( x x1 )

Quando os pontos xi esto igualmente espaados, x = xn + sh e x = xi + (s + n - i)h. Logo, tem-


se:

Pn ( x) = Pn ( xn + sh) = f [ xn ] + shf [ xn , xn 1 ] + s ( s + 1)h 2 f [ xn , xn 1 , xn 2 ] + +


s ( s + 1) ( s + n 1)h n f [ xn , , x0 ]

A expresso acima a frmula das diferenas divididas descendentes de Newton.

Dada uma funo f(x) qualquer, a diferena descendente f(xn) definida por:

f ( xn ) = f ( xn ) f ( xn 1 ) (n 1) (diferena de 1 ordem)

Para diferenas de ordem mais elevada, utiliza-se a seguinte expresso:

k f ( xn ) = k ( k 1 f ( xn ) ) (k 2) (diferena de ordem k)

Assim, tem-se:

1 1 2
f [ xn , xn 1 ] = f ( xn ) f [ xn , xn 1 , xn 2 ] = f ( xn )
h 2h 2
16

1
f [ xn , xn 1 , , xn k ] = k f ( xn )
k !h k

Empregando a definio de diferena descendente, obtm-se a seguinte forma para o


polinmio interpolador Pn(x):

s ( s + 1) 2 s ( s + 1) ( s + n 1) n
Pn ( x ) = f [ xn ] + sf ( xn ) + f ( xn ) + + f ( xn )
2 n!

Estendendo a definio de coeficiente binomial a fim de incluir todos os valores reais de s,


obtm-se que:

s s ( s 1) ( s k + 1) s ( s + 1) ( s + k 1)
= = (1) k
k k! k!

Logo:

s s s
Pn ( x) = f [ xn ] + (1)1 f ( xn ) + (1) 2 2 f ( xn ) + + (1)n n f ( xn )
1 2 n

Assim, obtm-se a frmula das diferenas descendentes de Newton:

n
s
Pn ( x) = f [ xn ] + (1) k k f ( xn )
k =1 k

Observa-se que as frmulas de Newton no so adequadas para a obteno de um


polinmio interpolador de uma funo f(x) representada por valores definidos em pontos
discretos xi quando se deseja obter o valor f(x) em um ponto x localizado no centro dos
pontos xi. Neste caso, empregam-se frmulas obtidas a partir de diferenas centradas.

Escolhendo um ponto x0 localizado prximo ao ponto no qual se deseja obter f(x), definem-
se os pontos x1, x2,... como aqueles localizados diretamente acima de x0 e os pontos x-1, x-2,...
como aqueles diretamente abaixo de x0. Assim, a frmula de diferenas centradas de Stirling
obtida e expressa da seguinte forma:

Pn ( x) = P2 m +1 ( x) = f [ x0 ] +
sh
2
( f [ x1 , x0 ] + f [ x0 , x1 ]) + s 2 h2 f [ x1 , x0 , x1 ] +
s ( s 2 1)h3
2
( f [ x2 , x1 , x0 , x1 ] + f [ x1 , x0 , x1 , x2 ]) + +
( )
s 2 ( s 2 1)( s 2 4) s 2 ( m 1) h 2 m f [ x m , , xm ] +
2

s ( s 2 1) ( s 2 m 2 )h 2 m +1
2
( f [ x m1 , , xm ] + f [ x m , , xm+1 ])
onde n = 2m + 1 um nmero mpar. Para n = 2m par, tem-se:
17

Pn ( x) = P2 m ( x) = f [ x0 ] +
sh
2
( f [ x1 , x0 ] + f [ x0 , x1 ]) + s 2 h 2 f [ x1 , x0 , x1 ] +

s ( s 1)h3
2

2
( f [ x2 , x1 , x0 , x1 ] + f [ x1 , x0 , x1 , x2 ]) + +
( )
s 2 ( s 2 1)( s 2 4) s 2 ( m 1) h 2 m f [ x m , , xm ]
2

Exemplo 4: Para os dados abaixo, determinar o valor de f(x) em x = 1,1 e x = 2,0 usando um
polinmio interpolador de Newton com grau mximo para os dados fornecidos.

xi f(xi)
1,0 0,7651977
1,3 0,6200860
1,6 0,4554022
1,9 0,2818186
2,2 0,1103623

Para a obteno de f(x) em x = 1,1 ser adotada a frmula de diferenas divididas


ascendentes de Newton (com x0 = 1,0) j que x = 1,1 est mais prximo do limite inferior da
srie de pontos fornecida. Como o nmero de pontos disponveis 5, emprega-se um
polinmio de 4 grau. Logo, tem-se:

x = x0 + sh 1,1 = 1, 0 + s.0, 3 s =1 3

1
P4 (1,1) = P4 1, 0 + 0,3.
3

As diferenas divididas so dadas na tabela abaixo, as quais foram obtidas usando as


seguintes expresses:

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

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

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

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

i xi f[xi] f[xi, xi+1] f[xi, xi+1, xi+2] f[xi, xi+1, xi+2, xi+3] f[xi, xi+1, xi+2, xi+3, xi+4]
0 1,0 0,7651977 -0,4837057 -0,1087339 0,0658784 0,0018251
1 1,3 0,6200860 -0,5489460 -0,0494433 0,0680685 -
2 1,6 0,4554022 -0,5786120 0,0118183 - -
3 1,9 0,2818186 -0,5715210 - - -
4 2,2 0,1103623 - - - -

Assim, obtm-se o polinmio interpolador segundo a frmula das diferenas divididas


ascendentes de Newton:

n
s
Pn ( x) = f [ x0 ] + k !h k f [ x0 , x1 , , xk ]
k =1 k

4
1 3
P4 (1,1) = f [1, 0] + k !(0,3) k f [ x0 , x1 , , xk ]
k =1 k

1 1 2
P4 (1,1) = 0, 7651977 + (0,3)(0, 4837057) + (0, 3) 2 (0,1087339) +
3 3 3
1 2 5 1 2 5 8
(0,3) (0, 0658784) + (0, 3) (0, 0018251)
3 4

3 3 3 3 3 3 3

P4 (1,1) = 0, 7196460

Para a obteno de f(x) em x = 2,0 ser adotada a frmula de diferenas divididas


descendentes de Newton (com x0 = 2,2) j que x = 2,0 est mais prximo do limite superior
da srie de pontos fornecida. Como o nmero de pontos disponveis 5, emprega-se um
polinmio de 4 grau. Logo, tem-se:

x = xi + sh 2, 0 = 2, 2 + s.0, 3 s = 2 3

2
P4 (2, 0) = P4 2, 2 0,3.
3

As diferenas divididas so dadas na tabela abaixo, sendo as mesmas obtidas anteriormente,


mas ordenadas de acordo com a ordem decrescente dos pontos xi.

i xi f[xi] f[xi, xi+1] f[xi, xi+1, xi+2] f[xi, xi+1, xi+2, xi+3] f[xi, xi+1, xi+2, xi+3, xi+4]
0 2,2 0,1103623 -0,5715210 0,0118183 0,0680685 0,0018251
1 1,9 0,2818186 -0,5786120 -0,0494433 0,0658784 -
2 1,6 0,4554022 -0,5489460 -0,1087339 - -
3 1,3 0,6200860 -0,4837057 - - -
4 1,0 0,7651977 - - - -

Assim, obtm-se o polinmio interpolador segundo a frmula das diferenas divididas


descendentes de Newton:
19

Pn ( x) = Pn ( xn + sh) = f [ xn ] + shf [ xn , xn 1 ] + s ( s + 1)h 2 f [ xn , xn 1 , xn 2 ] + +


s ( s + 1) ( s + n 1)h n f [ xn , , x0 ]

2 21
P4 (2, 0) = 0,1103623 (0, 3)(0,5715210) (0,3) 2 (0, 0118183)
3 3 3
2 1 4 2 1 4 7
(0,3) (0, 0680685) (0,3) (0, 0018251)
3 4

3 3 3 3 3 3 3

P4 (2, 0) = 0, 2238754

Exemplo 5: a tabela abaixo fornece a demanda diria mxima de energia eltrica em uma
cidade. Determinar a data de pico mximo e o valor mximo correspondente.

data 5 de outubro 15 de outubro 25 de outubro 4 de novembro


Demanda (MW) 10 15 20 13

Para a obteno do polinmio interpolador ser empregada a frmula das diferenas


ascendentes de Newton, isto :

n
s
Pn ( x) = f [ x0 ] + k f ( x0 )
k =1 k

As diferenas ascendentes contidas na frmula so determinadas construindo-se uma tabela


como mostrado abaixo:

i xi f(xi) f(xi) 2f(xi) 3f(xi)


0 0 10 5 0 -12
1 10 15 5 -12 -
2 20 20 -7 - -
3 30 13 - - -

Assim, tem-se:

s s ( s 1) 2 s ( s 1)( s 2) 3
P3 ( x) = f ( x0 ) + .f ( x0 ) + f ( x0 ) + f ( x0 )
1! 2! 3!

Considerando que s = (x x0)/h e xi+1 = xi + h, sendo h = 10, obtm-se:

P3 ( x ) = f ( x0 ) +
( x x0 ) .f ( x ) + ( x x0 )( x x1 ) 2 f ( x ) + ( x x0 )( x x1 )( x x2 ) 3 f ( x )
0 0 0
1! h 2!h 2 3! h3

Logo:

P3 ( x ) = 10 +
( x 0 ) .5 + ( x 0 )( x 10 ) .0 + ( x 0 )( x 10 )( x 20 ) .(12)
10 2!10 2 3!103
20

P3 ( x ) = 0, 002 x 3 + 0, 06 x 2 + 0,1x + 10

Para obter o ponto de mximo, determina-se o valor x para o qual dP(x)/dx = 0, ou seja:

d
P3 ( x ) = 0, 006 x 2 + 0,12 x + 0,1 x1 = 20,80 x2 = 0,80123
dx

Como d2P(x)/dx2 < 0 em x = 20,80, este o ponto de mximo. Logo, o pico mximo na
demanda ocorre entre 25 e 26 de outubro e o valor correspondente :

P3 (20,80) = 0, 002.(20,80)3 + 0, 06.(20,80)2 + 0,1.(20,80) + 10


P3 (20,80) = 20,041 MW

Exemplo 6: obter o polinmio interpolador de Newton para a funo representada pelos


dados abaixo:

xi f(xi)
1,5 2,30
1,8 2,48
2,0 2,62
2,1 2,70

Usando a frmula das diferenas divididas de Newton, tem-se a seguinte expresso para o
polinmio interpolador:
n
Pn ( x ) = f [ x0 ] + f [ x0 , x1 , , xk ] ( x x0 ) ( x xk 1 )
k =1

Para os dados disponveis ser necessrio obter as diferenas divididas at a ordem 3. Na


tabela abaixo se encontram os valores obtidos:

i xi f[xi] f[xi+1, xi] f[xi+2, xi+1, xi] f[xi+3, xi+2, xi+1, xi]
0 1,5 2,30 0,6 0,2 0,2222
1 1,8 2,48 0,7 0,3333 -
2 2,0 2,62 0,8 - -
3 2,1 2,70 - - -

Portanto, para os dados acima, obtm-se:

P3 ( x) = f [ x0 ] + f [ x1 , x0 ] . ( x x0 ) + f [ x2 , x1 , x0 ] . ( x x0 ) . ( x x1 ) +
f [ x3 , x2 , x1 , x0 ] . ( x x0 ) . ( x x1 ) . ( x x2 )

P3 ( x) = 2, 30 + 0, 6. ( x 1, 5 ) + 0, 2. ( x 1,5 ) . ( x 1,8 ) +
0, 2222. ( x 1,5 ) . ( x 1,8 ) . ( x 2, 0 )
21

P3 ( x ) = 0, 2222 x 3 0,977660 x 2 + 2, 00646 x + 0, 74012

2.1.4 Polinmio de Hermite

Supondo que sejam dados n + 1 pontos diferentes x0, x1, ..., xn no intervalo [a, b] e nmeros
inteiros no negativos m0, m1, ..., mn com m = mx{m0, m1, ..., mn}, define-se o polinmio
intermedirio como aquele que representa a funo f(x) em xi (i = 0, ..., n) tal que f(x) Cm[a,
b], sendo o polinmio de menor grau que concorda com f(x) e todas as suas derivadas de
ordem menor ou igual a mi em xi. O grau mximo deste polinmio ser:
n
M = mi + n
i=0

n
uma vez que o nmero de condies a serem satisfeitas igual a m + (n + 1) .
i =0
i

Portanto, o polinmio intermedirio que representa uma funo f(x) deve ser o polinmio
de menor grau tal que:

dk dk
P ( x ) = f ( xi ) (i = 0, n; k = 0, mi )
dx k dx k

Quando n = 0, o polinmio intermedirio que representa a funo f(x) o m0-simo


polinmio de Taylor para f(x) em x0. Quando mi = 0 (i = 0, n), o polinmio intermedirio o
n-simo polinmio de Lagrange que interpola a funo f(x) em x0, x1, ..., xn.

O polinmio de Hermite obtido quando se considera mi = 1 (i = 0, n). Assim, para uma


funo f(x) dada, esses polinmios concordam com f(x) em x = x0, x = x1, ..., x = xn. Alm
disso, as suas primeiras derivadas tambm concordam com as primeiras derivadas de f(x)
nos pontos xi.

Considerando uma funo f(x) C1[a, b] com x0, x1, ..., xn [a, b] e distintos valores, o nico
polinmio de grau mnimo concordante com f(x) e f(x) nos pontos xi o polinmio de
Hermite de grau pelo menos 2n + 1, dado por:
n n
H 2 n +1 ( x) = f ( x j ) H n , j ( x) + f ( x j ) H n , j ( x)
j =0 j =0

sendo:

H n , j ( x) = 1 2 ( x x j ) Ln, j ( x j ) L2n , j ( x )

H n , j ( x ) = ( x x j ) L2n , j ( x )

onde Ln,j(x) indica o j-simo coeficiente do polinmio de Lagrange de grau n, isto :


22

( x x0 ) ( x xk 1 )( x xk +1 ) ( x xn ) n
( x xi )
Ln ,k ( x) = =
( xk x0 ) ( xk xk 1 )( xk xk +1 ) ( xk xn ) i = 0 ( xk xi )
(i k )

Quando f(x) C2n+2 no intervalo [a, b], tem-se que:

( x x0 ) 2 ( x xn )2 (2 n+ 2)
f ( x) = H 2 n +1 ( x) + f ( )
(2n + 2)!

para a < < b.

Exemplo 1: usando o polinmio de Hermite determine o valor f(x) em x = 1,5 a partir dos
dados abaixo, os quais descrevem a funo f(x) e sua derivada primeira em pontos discretos
xi.

xk f(xk) f(xk)
1,3 0,6200860 -0,5220232
1,6 0,4554022 -0,5698959
1,9 0,2818186 -0,5811571

Como os dados esto dispostos em trs pontos, tem-se que n = 2. Logo, obtm-se:
n n
H 2 n +1 ( x) = f ( x j ) H n , j ( x) + f ( x j ) H n , j ( x)
j =0 j =0

2 2
H 5 ( x) = f ( x j ) H 2, j ( x) + f ( x j ) H 2, j ( x)
j =0 j =0

sendo:

H 2, j ( x) = 1 2 ( x x j ) L2, j ( x j ) L22, j ( x )

H 2, j ( x ) = ( x x j ) L22, j ( x )

Determinando, inicialmente, os polinmios de Lagrange e suas derivadas primeiras, tem-se:

L2,0 ( x) =
( x x1 )( x x2 ) = 50 x 2 175 x + 152
( x0 x1 )( x0 x2 ) 9 9 9

L2,1 ( x) =
( x x0 )( x x2 ) = 100 x 2 + 320 x 247
( x1 x0 )( x1 x2 ) 9 9 9

L2,2 ( x) =
( x x0 )( x x1 ) = 50 x 2 145 x + 104
( x2 x0 )( x2 x1 ) 9 9 9
23

100 175
( x) =
L2,0 x
9 9

200 320
( x) =
L2,1 x+
9 9

100 145
( x) =
L2,2 x
9 9

Os demais polinmios so obtidos abaixo:


2 2
50 175 152 50 2 175 152
H 2,0 ( x) = 1 2 ( x 1,3)( 5 ) x 2 x+ = (10 x 12 ) x x+
9 9 9 9 9 9

2
100 2 320 247
H 2,1 ( x) = 1 x + x
9 9 9

2
50 145 104
H 2,2 ( x) = 10(2 x) x 2 x+
9 9 9

2
50 175 152
H 2,0 ( x) = ( x 1, 3) x 2 x+
9 9 9

2
100 2 320 247
H 2,1 ( x) = ( x 1, 6 ) x + x
9 9 9

2
50 145 104
H 2,2 ( x) = ( x 1,9 ) x 2 x+
9 9 9

Finalmente, obtm-se:

H 5 ( x) = 0, 6200860.H 2,0 ( x) + 0, 4554022.H 2,1 ( x) + 0, 2818186.H 2,2 ( x)


0,5220232.H 2,0 ( x) 0,5698959.H 2,1 ( x) 0,5811571.H 2,2 ( x)

4 64 5
H 5 ( x) = 0, 6200860. + 0, 4554022. + 0, 2818186.
27 81 81
4 32 2
0,5220232. 0,5698959. 0, 5811571.
405 405 405

H 5 ( x) = 0,5118277

Uma forma alternativa mais simples para a construo de polinmios de Hermitte pode ser
obtida utilizando-se a frmula de diferenas divididas de Newton em x0, x1, ..., xn, ou seja:
24

n
Pn ( x ) = f [ x0 ] + f [ x0 , x1 , , xk ] ( x x0 ) ( x xk 1 )
k =1

possvel demonstrar que se f(x) Cn[a, b] com x0, x1, ..., xn sendo nmero distintos
contidos no intervalo [a, b], existe um nmero no intervalo (a, b) para o qual:

f ( n ) ( )
f [ x0 , x1 , , xk ] =
n!

Supondo que estejam disponveis os valores f(x) e f(x) em pontos distintos x0, x1, ..., xn,
define-se um sequncia de pontos z0, z1, ..., z2n+1 onde:

z2 i = z2i +1 = xi (i = 0, n)

Ao calcular as diferenas divididas utilizando-se os pontos z0, z1, ..., z2n+1, verifica-se que no
possvel definir f[z2i, z2i+1]. No entanto, pode-se demonstrar que neste caso possvel
empregar a seguinte relao:

f [ z2 i , z 2i +1 ] = f ( z2i ) = f ( xi )

Para as diferenas divididas restantes podem ser utilizadas as frmulas usuais. O polinmio
de Hermite dado pela seguinte expresso:
2 n +1
H 2 n +1 ( x) = f [ z0 ] + f [ z0 ,..., zk ] ( x z0 ) ( x zk 1 )
k =1

Exemplo 2: usando a forma do polinmio de Hermite a partir de diferenas divididas,


determine o valor f(x) em x = 1,5 a partir dos dados abaixo, os quais descrevem a funo f(x)
e sua derivada primeira em pontos discretos xi.

xk f(xk) f(xk)
1,3 0,6200860 -0,5220232
1,6 0,4554022 -0,5698959
1,9 0,2818186 -0,5811571

Como o nmero de pontos disponveis igual a 3, tem-se que n = 2. Logo, obtm-se:


2 n +1
H 2 n +1 ( x) = f [ z0 ] + f [ z0 ,..., zk ] ( x z0 ) ( x zk 1 )
k =1

H 5 ( x) = f [ z0 ] + f [ z0 , z1 ] ( x z0 ) + f [ z0 , z1 , z2 ] ( x z0 )( x z1 ) +
f [ z0 , z1 , z2 , z3 ] ( x z0 )( x z1 )( x z2 ) +
f [ z0 , z1 , z2 , z3 , z4 ] ( x z0 )( x z1 )( x z2 )( x z3 )
f [ z0 , z1 , z2 , z3 , z4 , z5 ] ( x z0 )( x z1 )( x z2 )( x z3 )( x z4 )

Para a obteno dos termos do polinmio acima se constri a seguinte tabela:


25

zi f[zi] f[zi,zi+1] f[zi,zi+1,zi+2] f[zi,zi+1,zi+2,zi+3] f[zi,zi+1,zi+2,zi+3,zi+4] f[zi,zi+1,zi+2,zi+3,zi+4,zi+5]


z0 = x0 = 1,3 0,6200860 -0,5220232 -0,0897427 0,0663657 0,0026663 -0,0027738
z1 = x0 = 1,3 0,6200860 -0,5489460 -0,0698330 0,0679655 0,0010020 -
z2 = x1 = 1,6 0,4554022 -0,5698959 -0,0290537 0,0685667 - -
z3 = x1 = 1,6 0,4554022 -0,5786120 -0,0084837 - - -
z4 = x2 = 1,9 0,2818186 -0,5811571 - - - -
z5 = x2 = 1,9 0,2818186 - - - - -

Assim, chega-se a:

H 5 (1,5) = 0, 6200860 + ( 0,5220232 )(1,5 1,3) + ( 0, 0897427 )(1,5 1,3) +


2

0,0663657 (1,5 1,3) (1,5 1, 6 ) +


2

0,0026663 (1,5 1,3) (1,5 1, 6 ) +


2 2

( 0, 0027738)(1,5 1,3) (1,5 1, 6 ) (1,5 1,9 )


2 2

H 5 (1,5) = 0, 5118277

2.1.5 Splines

Quando se deseja, por exemplo, representar entidades geomtricas (curvas e superfcies)


com forma mais complexa atravs de polinmios, verifica-se a necessidade de aumentar o
nmero de pontos ou, equivalentemente, aumentar o grau da funo polinomial.
Entretanto, a representao obtida , geralmente, deficiente. Alm disso, polinmios com
funes de alto grau esto sujeitos a oscilaes locais que podem se estender por todo o
intervalo de validade das funes.

Uma alternativa dividir o intervalo fechado no qual est definido um nico polinmio
interpolador em vrios subintervalos com seus respectivos polinmios interpoladores, ou
seja, empregando polinmios secionados.

A forma mais bsica de representao de uma funo f(x) qualquer por polinmios
secionados utilizando polinmios locais lineares. Entretanto, esta opo traz a
desvantagem de no apresentar continuidade nas derivadas das funes polinomiais
adjacentes junto aos extremos dos subintervalos. Este problema pode ser resolvido
26

empregando-se, por exemplo, um polinmio cbico de Hermite para cada um dos


subintervalos [x0, x1], [x1, x2], ..., [xn-1, xn] definidos a partir dos pontos x0 < x1, < ... < xn onde
os valores f(x) e f(x) esto disponveis. Porm, a derivada da funo que est sendo
representada geralmente no conhecida.

Para evitar a necessidade de informaes sobre derivadas da funo f(x) a ser representada
utilizam-se polinmios de partes criteriosas. A forma mais simples obtida usando-se
polinmios quadrticos definidos em pares de pontos xi sucessivos que definem os
subintervalos dentro do intervalo total [x0, xn]. Assim, polinmios quadrticos so
construdos nos subintervalos [xi, xi+1], os quais concordam com a funo a ser representada
nos pontos extremos dos subintervalos. Como um polinmio quadrtico tem 3 constantes
arbitrrias para 2 condies a serem satisfeitas nos extremos de cada subintervalo, h
flexibilidade para escolher o polinmio de tal forma que a funo interpoladora tenha uma
derivada contnua no intervalo [x0, xn]. Entretanto, quando condies devem ser
especificadas sobre a derivada do polinmio interpolador nos pontos extremos x0 e xn, o
nmero de constantes existentes no suficiente.

A forma mais comum de representao utilizando polinmios de partes criteriosas faz uso
de polinmios cbicos entre cada par sucessivo de pontos xi (interpolao por spline cbico).
Um polinmio cbico genrico tem quatro constantes, de modo que o procedimento com
splines cbicos tem flexibilidade suficiente para assegurar que a funo interpoladora no s
seja continuamente derivvel no intervalo, mas tambm que ele tenha uma derivada de 2
ordem contnua. A construo do spline cbico no garante, contudo, que as derivadas do
polinmio interpolador concordem com as derivadas da funo que est sendo
representada, mesmo nos pontos xi.

Dada uma funo f(x) definida no intervalo [a, b] e um conjunto de pontos x0 < x1 < ... < xn,
sendo x0 = a e xn = b, um spline cbico interpolador S(x) uma funo que satisfaz as
seguintes condies:

a) S(x) um polinmio cbico, sendo Sj(x) definido no subintervalo [xj, xj+1] para j = 0, n 1;

b) S(xj) = f(xj) para j = 0, n;

c) Sj+1(xj+1) = S(xj+1) para j = 0, n 2;

d) Sj+1(xj+1) = Sj(xj+1) para j = 0, n 2;

e) Sj+1(xj+1) = Sj(xj+1) para j = 0, n 2;

f) Uma das seguintes condies de contorno deve ser satisfeita:

i) S(x0) = Sj(xn) = 0 condio de contorno livre ou natural

ii) S(x0) = f(x0) e S(xn) = f(xn) condio de contorno restrito

Quando as condies de contorno livre so utilizadas, o spline obtido chamado de spline


natural. Em geral, a utilizao de condies de contorno restrito leva a representaes mais
precisas, j que incluem mais informaes sobre a funo a ser representada. Entretanto,
27

necessrio conhecer as derivadas nos pontos extremos do intervalo [xn, xn+1] ou, pelo menos,
uma aproximao acurada destes valores.

Um spline cbico interpolador de uma funo dada f(x) pode ser representado por:

S j ( x) = a j + b j ( x x j ) + c j ( x x j ) + d j ( x x j )
2 3
( j = 0, n 1)

Como Sj(xj) = aj = f(xj), a condio c) pode ser aplicada para obter:

a j +1 = S j +1 ( x j +1 ) = S j ( x j +1 )

a j +1 = a j + b j ( x j +1 x j ) + c j ( x j +1 x j ) + d j ( x j +1 x j )
2 3
( j = 0, n 2)

Definindo hj = xj+1 xj (para j = 0, n 1) e an = f(xn), tem-se:

a j +1 = a j + b j h j + c j h 2j + d j h3j ( j = 0, n 1)

Definindo bn = S(xn), verifica-se que:

S j ( x j +1 ) = b j + 2c j ( x x j ) + 3d j ( x x j )
2

o que implica em Sj(xj) = bj para j = 0, n 1. Aplicando a condio d), tem-se:

b j +1 = b j + 2c j h j + 3d j h 2j ( j = 0, n 1)

Outra relao entre os coeficientes de Sj obtida definindo-se cn = S(xn)/2 e aplicando-se a


condio e), de onde se obtm:

c j +1 = c j + 3d j h j ( j = 0, n 1)

Resolvendo a equao acima para dj, obtm-se novas expresses para aj+1 e bj+1 da seguinte
forma:

h 2j
a j +1 = a j + b j h j +
3
( 2c j + c j +1 ) ( j = 0, n)

b j +1 = b j + h j ( c j + c j +1 ) ( j = 0, n)

Da primeira expresso acima se obtm:

( a j +1 a j ) ( 2c j + c j +1 )
1 hj
bj =
hj 3

Reduzindo os ndices da equao acima em uma unidade e substituindo o resultado na


equao anterior, com os ndices reduzidos, chega-se a:
28

h j 1c j 1 + 2 ( h j 1 h j ) c j + h j c j +1 = ( a j +1 a j ) ( a j a j 1 )
3 3
( j = 1, n 1)
hj h j 1

A equao acima representa um sistema de equaes cujas incgnitas so apenas os


parmetros cj (j = 0, n), uma vez que hj (j = 0, n1) e aj (j = 0, n) so obtidos a partir do
espaamento entre os pontos xj (j = 0, n) e os valores de f(x) nestes pontos, respectivamente.
Obtidos os valores cj, as constantes bj e dj podem ser determinados com as frmulas
desenvolvidas acima. Assim, obtm-se, finalmente, os polinmios cbicos Sj para cada um
dos subintervalos j = 0, n-1. Quando qualquer uma das condies de contorno imposta
sobre a equao acima, pode-se demonstrar que a sua soluo nica.

A fim de satisfazer as condies de contorno S(x0) = 0 e S(xn) = 0, consideram-se as


seguintes expresses:

S ( xn )
cn = =0
2

S ( x0 ) = 0 0 = 2c0 + 6d 0 ( x0 x0 )

Logo, c0 = 0. Assim, obtm-se um sistema de equaes lineares Ax = b, com a matriz A tendo


dimenses (n+1)x(n+1), onde:

1 0 0 0
h0 2 ( h0 + h1 ) h1

0 h1 2 ( h1 + h2 ) h2
A=
0
hn 2 2 ( hn 2 + hn 1 ) hn 1

0 0 0 1

0
3 3
( a2 a1 ) ( a1 a0 ) c0
h1 h0 c

b= x = 1

3 3
( an an1 ) ( an 1 an 2 ) cn
hn 1 hn 2
0

Portanto, os procedimentos para a obteno de um spline cbico que satisfaa as condies


de contorno S(x0) = 0 e S(xn) = 0 podem ser resumidos nos seguintes passos:

i) Dados necessrios: n + 1 pontos xi e n + 1 valores f(xi) com i = 0, n, onde x0 < x1 < ... <
xn.

ii) Determinar ai = f(xi) para i = 0, n.


29

iii) Montar a matriz A e o vetor b de acordo com as definies acima e resolver o sistema
de equaes linear para a obteno de cj (j = 0, n), observando que c0 = cn = 0.

iv) A partir da soluo em cj, obter bj e dj usando:

( a j +1 a j ) ( 2c j + c j +1 )
1 hj
bj = ( j = 0, n 1)
hj 3

dj =
1
3h j
( c j +1 c j ) ( j = 0, n 1)

v) Definidas as constantes aj, bj, cj e dj para j = 0, n-1, obter os polinmios


interpoladores em spline cbico para cada um dos subintervalos j usando:

S j ( x) = a j + bj ( x x j ) + c j ( x x j ) + d j ( x x j )
2 3
( j = 0, n 1; x j x x j +1 )

Por outro lado, se a funo interpoladora em spline cbico deve satisfazer a condio de
contorno restrito, S(x0) = f(x0) e S(xn) = f(xn), o sistema de equaes acima deve tambm
sofrer alteraes para levar em conta estas condies. Assim, considera-se, inicialmente, a
seguinte expresso:

( a j +1 a j ) j ( 2c j + c j +1 )
1 h
bj = ( j = 0, n 1)
hj 3

Como f(x0) = S(x0) = b0, da equao acima se obtm a seguinte expresso para j = 0:

1 h
f ( x0 ) = ( a1 a0 ) 0 ( 2c0 + c1 )
h0 3

Logo:

3
2h0 c0 + h0 c1 = ( a1 a0 ) 3 f ( x0 )
h0

Da mesma forma, considerando que f(xn) = S(xn) = bn e a equao bj+1 = bj + hj(cj + cj+1)
deduzida mais acima, obtm-se:

f ( xn ) = bn 1 + hn 1 ( cn 1 + cn )

Considerando a expresso acima e a equao:

( a j +1 a j ) ( 2c j + c j +1 )
1 hj
bj = ( j = 0, n 1)
hj 3

para j = n 1, obtm-se:
30

1 h
f ( xn ) = ( an an 1 ) n1 ( 2cn1 + cn ) + hn1 ( cn 1 + cn )
hn 1 3

1 h
f ( xn ) = ( an an 1 ) + n 1 ( cn1 + 2cn )
hn 1 3

3
hn 1cn 1 + 2hn 1cn = 3 f ( xn ) ( an an1 )
hn 1

Assim, tomando as seguintes equaes:

h j 1c j 1 + 2 ( h j 1 h j ) c j + h j c j +1 = ( a j +1 a j ) ( a j a j 1 )
3 3
hj h j 1

3
2h0 c0 + h0 c1 = ( a1 a0 ) 3 f ( x0 )
h0

3
hn 1cn 1 + 2hn 1cn = 3 f ( xn ) ( an an 1 )
hn 1

determina-se um sistema de equaes lineares Ax = b, com a matriz A tendo dimenses


(n+1)x(n+1), onde:

2h0 h0 0 0
h0 2 ( h0 + h1 ) h1

0 h1 2 ( h1 + h2 ) h2
A=
0
hn 2 2 ( hn 2 + hn 1 ) hn 1

0 0 hn 1 2hn 1

3
( a1 a0 ) 3 f ( x0 )
h0

3 3
( a2 a1 ) ( a1 a0 ) c0
h1 h0 c

b= x = 1

3 ( a a ) 3 ( a a )
hn 1 n n 1
hn 2
n 1 n2
cn

3

3 f ( xn ) ( an an 1 )
hn 1

Portanto, os procedimentos para a obteno de um spline cbico que satisfaa as condies


de contorno S(x0) = f(x0) e S(xn) = f(xn) podem ser resumidos nos seguintes passos:
31

i) Dados necessrios: n + 1 pontos xi e n + 1 valores f(xi) com i = 0, n, onde x0 < x1 < ... <
xn, alm de f(x0) e f(xn).

ii) Determinar ai = f(xi) para i = 0, n.

iii) Montar a matriz A e o vetor b de acordo com as definies acima e resolver o sistema
de equaes linear para a obteno de cj (j = 0, n).

iv) A partir da soluo em cj, obter bj e dj usando:

( a j +1 a j ) ( 2c j + c j +1 )
1 hj
bj = ( j = 0, n 1)
hj 3

dj =
1
3h j
( c j +1 c j ) ( j = 0, n 1)

v) Definidas as constantes aj, bj, cj e dj para j = 0, n-1, obter os polinmios


interpoladores em spline cbico para cada um dos subintervalos j usando:

S j ( x) = a j + bj ( x x j ) + c j ( x x j ) + d j ( x x j )
2 3
( j = 0, n 1; x j x x j +1 )

Exemplo 1: obter a representao da curva que delimita a parte superior do perfil de um


pato em voo (figura mostrada abaixo). Na tabela a seguir so fornecidos a posio dos
pontos xi e os valores correspondentes da funo f(x) de acordo com o sistema de
coordenadas utilizado.

xi 0,9 1,3 1,9 2,1 2,6 3,0 3,9 4,4 4,7 5,0 6,0 7,0 8,0 9,2 10,5 11,3 11,6 12,0 12,6 13,0 13,3

f(xi) 1,3 1,5 1,85 2,1 2,6 2,7 2,4 2,15 2,05 2,1 2,25 2,3 2,25 1,95 1,4 0,9 0,7 0,6 0,5 0,4 0,25
32

Como no h informaes sobre o valor das derivadas nos pontos extremos do intervalo [x0,
xn], utilizam-se as condies de contorno livre, ou seja, S(x0) = 0 e S(xn) = 0. Portanto, sero
empregadas aqui as definies do sistema Ax = b correspondentes a este caso. A tabela
abaixo resume os resultados dos parmetros necessrios para a obteno dos polinmios
interpoladores em cada um dos subintervalos j, onde:

S j ( x) = a j + bj ( x x j ) + c j ( x x j ) + d j ( x x j )
2 3
( j = 0, n 1; x j x x j +1 )

j xj aj = f(xj) bj cj dj
0 0,9 1,3 5,40 0,00 -0,25
1 1,3 1,5 0,42 -0,30 0,95
2 1,9 1,85 1,09 1,41 -2,96
3 2,1 2,1 1,29 -0,37 -0,45
4 2,6 2,6 0,59 -1,04 0,45
5 3,0 2,7 -0,02 -0,50 0,17
6 3,9 2,4 -0,50 -0,03 0,08
7 4,4 2,15 -0,48 0,08 1,31
8 4,7 2,05 -0,07 1,27 -1,58
9 5,0 2,1 0,26 -0,16 0,04
10 6,0 2,25 0,08 -0,03 0,00
11 7,0 2,3 0,01 -0,04 -0,02
12 8,0 2,25 -0,14 -0,11 0,02
13 9,2 1,95 -0,34 -0,05 -0,01
14 10,5 1,4 -0,53 -0,10 -0,02
15 11,3 0,9 -0,73 -0,15 1,21
16 11,6 0,7 -0,49 0,94 -0,84
17 12,0 0,6 -0,14 -0,06 0,04
18 12,6 0,5 -0,18 0,00 -0,45
19 13,0 0,4 -0,39 -0,54 0,60
20 13,3 0,25 - - -

Na figura ao lado mostrada a


curva gerada atravs de um
polinmio interpolador de Lagrange
de grau 20, de acordo com os
dados disponveis. Observa-se a
presena de fortes oscilaes ao
longo do intervalo de definio da
funo devido utilizao de um
polinmio de alto grau.

Para empregar a formulao


correspondente a condies de
contorno restrito, as derivadas nos
extremos do intervalo [x0, xn] devem ser estimadas quando estas informaes no esto
33

disponveis. Na presena de descontinuidades na curva a ser representada, diferentes


splines cbicos podem ser usados nos diferentes trechos da curva.

As condies de contorno livre geralmente levam a resultados menos precisos que as


condies de contorno restrito, a menos que a funo f(x) consiga satisfazer
aproximadamente as condies f(x0) = 0 e f(xn) = 0. Uma alternativa que no requer o
conhecimento da derivada de f(x) a condio nenhum n (not-a-knot), onde requerida
a condio que S(x) seja contnua em x1 e xn-1.

2.1.6 Parametrizao

Todas as frmulas de interpolao desenvolvidas at aqui no so capazes de representar


uma curva como a mostrada na figura abaixo. Isto ocorre porque as equaes utilizadas
eram sempre explcitas, ou seja, para uma curva qualquer, por exemplo, h uma relao
implcita entre as coordenadas x e y (y = f(x)). Na figura abaixo, observa-se que para
determinados valores x h mais do que um valor y associado. Para resolver o problema ser
necessrio utilizar um parmetro u para expressar as coordenadas x e y de forma
independente (explcita). Esta tcnica conhecida como parametrizao.

Assim, para a obteno de um polinmio interpolador por parametrizao para a


representao de uma curva qualquer, considera-se uma srie de pares de pontos (xi, yi),
ordenados sequencialmente ao longo da curva a ser reproduzida, a partir da qual so
construdas funes paramtricas para as coordenadas x e y da seguinte forma:

xi = x ( ui ) ; yi = y ( ui ) (i = 0, n)

onde ui indica a coordenada paramtrica do par de pontos (xi, yi), definida no intervalo [u0,
un] com u0 < u1 < ... < un. Embora a definio do intervalo [u0, un] arbitrria, utiliza-se,
geralmente, um intervalo normalizado [0, 1].
34

A representao de uma curva por parametrizao no nica. Para demonstrar esta


propriedade, considera-se um crculo de raio unitrio e centrado na origem do sistema de
coordenadas x-y. Uma forma paramtrica para as coordenadas x e y seria:


x ( u ) = cos u; y ( u ) = sen u 0 u
2

Uma forma paramtrica polinomial equivalente pode ser obtida considerando que t =
tan(u/2). Logo:

1 t2 2t
x (t ) = ; y (t ) = ( 0 t 1)
1+ t2 1+ t2

Uma superfcie, por exemplo, pode ser representada por uma funo implcita f(x, y, z) = 0.
Uma esfera de raio unitrio e centrada na origem do sistema x-y-z descrita pela funo x2 +
y2 + z2 = 1. Uma forma paramtrica (no nica) para esta geometria utiliza as seguintes
expresses para as coordenadas x, y e z:

x ( u, v ) = sen u.cos v; y ( u, v ) = sen u.sen v; z ( u , v ) = cosu ( 0 u 1; 0 v 2 )

Exemplo 1: Representar a curva mostrada na figura abaixo usando polinmios de Lagrange


parametrizados.

Inicialmente, so coletados pares de coordenadas referentes a pontos localizados sobre a


curva a ser representada. Lembrando que h flexibilidade na escolha, utilizam-se aqui 5
pontos com o parmetro t igualmente espaado no intervalo [0, 1], como indicado na tabela
abaixo:

i 0 1 2 3 4
ti 0,0 0,25 0,5 0,75 1,0
xi -1,0 0,0 1,0 0,0 1,0
yi 0,0 1,0 0,5 0,0 -1,0
35

Para obter a funo x(t), emprega-se a frmula do polinmio de Lagrange para grau 4, de
acordo com os dados fornecidos na tabela. Assim, obtm-se:
4 4
(t ti )
P4 (t ) = x(tk )Lk (t ); Lk (t ) =
k =0 i =0 (tk ti )
(i k )

(t t1 ).(t t2 )(t t3 )(t t4 ) (t 0, 25).(t 0, 5)(t 0, 75)(t 1)


L0 (t ) = =
(t0 t1 ).(t0 t2 )(t0 t3 )(t0 t4 ) (0, 0 0, 25).(0, 0 0,5)(0, 0 0, 75)(0, 0 1, 0)

L0 (t ) = 10, 6667t 4 26, 6675t 3 + 23,3334t 2 8, 3334t + 1

(t t0 ).(t t2 )(t t3 )(t t4 ) (t 0, 0).(t 0, 5)(t 0, 75)(t 1, 0)


L1 (t ) = =
(t1 t0 ).(t1 t2 )(t1 t3 )(t1 t4 ) (0, 25 0, 0).(0, 25 0, 5)(0, 25 0, 75)(0, 25 1, 0)

L1 (t ) = 42, 6667t 4 + 96t 3 69,3334t 2 + 16t

(t t0 ).(t t1 )(t t3 )(t t4 ) (t 0, 0).(t 0, 25)(t 0, 75)(t 1, 0)


L2 (t ) = =
(t2 t0 ).(t2 t1 )(t2 t3 )(t2 t4 ) (0,5 0, 0).(0,5 0, 25)(0,5 0, 75)(0, 5 1, 0)

L2 (t ) = 64t 4 128t 3 + 76t 2 12t

(t t0 ).(t t1 )(t t2 )(t t4 ) (t 0, 0).(t 0, 25)(t 0, 5)(t 1, 0)


L3 (t ) = =
(t3 t0 ).(t3 t1 )(t3 t2 )(t3 t4 ) (0, 75 0, 0).(0, 75 0, 25)(0, 75 0, 5)(0, 75 1, 0)

L3 (t ) = 42, 6667t 4 74, 6667t 3 + 37, 3334t 2 5, 3333t

(t t0 ).(t t1 )(t t2 )(t t3 ) (t 0, 0).(t 0, 25)(t 0, 5)(t 0, 75)


L4 (t ) = =
(t4 t0 ).(t4 t1 )(t4 t2 )(t4 t3 ) (1, 0 0, 0).(1, 0 0, 25)(1, 0 0,5)(1, 0 0, 75)

L4 (t ) = 10, 6667t 4 16t 3 + 7, 3334t 2 t

Assim, tem-se:

x(t ) = L0 (t ) x(t0 ) + L1 (t ) x(t1 ) + L2 (t ) x (t2 ) + L3 (t ) x(t3 ) + L4 (t ) x(t4 )

x(t ) = (10, 6667t 4 26, 6675t 3 + 23,3334t 2 8, 3334t + 1) . ( 1) +

( 42, 6667t + 96t 69,3334t + 16t ) . ( 0, 0 ) +


4 3 2

( 64t 128t + 76t 12t ) . (1, 0 ) +


4 3 2

( 42, 6667t 74, 6667t + 37,3334t 5,3333t ) .( 0, 0 ) +


4 3 2

(10, 6667t 16t + 7, 3334t t ) . (1, 0 )


4 3 2

x(t ) = 64t 4 117, 3325t 3 + 60t 2 4, 6667t 1


36

Para obter a funo y(t), emprega-se a frmula abaixo:


4 4
(t ti )
P4 (t ) = y (tk )Lk (t ); Lk (t ) =
k =0 i =0 (tk ti )
(i k )

y (t ) = L0 (t ) y (t0 ) + L1 (t ) y (t1 ) + L2 (t ) y (t2 ) + L3 (t ) y (t3 ) + L4 (t ) y (t4 )

y (t ) = (10, 6667t 4 26, 6675t 3 + 23, 3334t 2 8, 3334t + 1) . ( 0, 0 ) +

( 42, 6667t + 96t 69,3334t + 16t ) . (1, 0 ) +


4 3 2

( 64t 128t + 76t 12t ) . ( 0,5) +


4 3 2

( 42, 6667t 74, 6667t + 37,3334t 5, 3333t ) . ( 0, 0 ) +


4 3 2

(10, 6667t 16t + 7, 3334t t ) . ( 1, 0 )


4 3 2

y (t ) = 21, 3334t 4 + 48t 3 38, 6668t 2 + 11t

A figura a seguir mostra o resultado obtido a partir da parametrizao comparado com a


curva original. Observa-se que para obter uma representao mais precisa necessrio um
nmero maior de pontos.

2.1.7 Interpolao polinomial de Bzier

O mtodo de Bzier aplicado a gerao de curvas pode ser descrito pela seguinte equao:
n
C(u ) = Bi ,n Pi
i =0

onde C(u) define um vetor de coordenadas parametrizadas {x(u); y(u); z(u)}T na posio u do
espao paramtrico normalizado [0, 1] (ou seja, 0 u 1), Pi o vetor de coordenadas {x, y,
z}T dos pontos de controle (ver figura abaixo) e Bi,n so polinmios de Bernstein de grau n
37

associados a cada um dos pontos de controle. Os polinmios de Bernstein de grau n so


definidos por:

n!
Bi ,n (u ) = u i (1 u ) n i (i = 0, n)
i !(n i )!

Os pontos de controle formam o chamado polgono de controle, que tem a finalidade de dar
forma curva. O polgono de controle delimita a curva a ser gerada atravs de um polgono
convexo aberto, aproximando-se da forma da curva medida que se aumenta o nmero de
pontos de controle.

Para a representao de uma reta no plano x-y atravs do mtodo de Bzier, emprega-se n =
1 na frmula de C(u), obtendo-se:
1
C(u ) = Bi ,1Pi = B0,1P0 + B1,1P1
i =0

sendo:

1!
B0,1 (u ) = u 0 (1 u )1 0 = (1 u )
0!(1 0)!

1!
B1,1 (u ) = u1 (1 u )11 = u
1!(1 1)!

P0 = { x0 , y0 } P1 = { x1 , y1}
T T

Um trecho de arco parablico (n = 2) no plano x-y representado pelo mtodo de Bzier


atravs da seguinte expresso:
2
C(u ) = Bi ,2 Pi = B0,2 P0 + B1,2 P1 + B2,2 P2
i =0

sendo:
38

2!
B0,2 (u ) = u 0 (1 u ) 2 0 = (1 u ) 2
0!(2 0)!

2!
B1,2 (u ) = u1 (1 u ) 21 = 2u (1 u )
1!(2 1)!

2!
B2,2 (u ) = u 2 (1 u )2 2 = u 2
2!(2 2)!

P0 = { x0 , y0 } P1 = { x1 , y1} P2 = { x2 , y2 }
T T T

Observa-se que o polgono formado por {P0, P1, P2} contm a curva gerada e aproxima a
forma da curva. Alm disso, os pontos de controle nos extremos, P0 e P2, esto localizados
sobre a curva, de tal forma que C(0) = P0 e C(1) = P2 e as tangentes junto aos pontos
extremos P0 e P2 so paralelas aos vetores P1 P0 e P2 - P1.

Curvas de Bzier cbicas (n = 3) no plano x-y so obtidas pelo mtodo de Bzier


empregando-se o polinmio abaixo:
3
C(u ) = Bi ,3 Pi = B0,3 P0 + B1,3 P1 + B2,3 P2 + B3,3 P3
i=0

sendo:
39

3!
B0,3 (u ) = u 0 (1 u )3 0 = (1 u )3
0!(3 0)!

3!
B1,3 (u ) = u1 (1 u )31 = 3u (1 u ) 2
1!(3 1)!

3!
B2,3 (u ) = u 2 (1 u )3 2 = 3u 2 (1 u )
2!(3 2)!

3!
B3,3 (u ) = u 3 (1 u )33 = u 3
3!(3 3)!

P0 = { x0 , y0 } P1 = { x1 , y1} P2 = { x2 , y2 } P3 = { x3 , y3 }
T T T T

Observa-se que o polgono formado por {P0, P1, P2, P3} contm a curva gerada e aproxima a
forma da curva. Alm disso, os pontos de controle nos extremos, P0 e P3, esto localizados
sobre a curva, de tal forma que C(0) = P0 e C(1) = P3 e as tangentes junto aos pontos
extremos P0 e P3 so paralelas aos vetores P1 P0 e P3 P2. Finalmente, verifica-se que a
mudana de direo da curva em u = 0 a mesma da sequncia de pontos de controle
P0P1P2. Igualmente, em u = 1 a mudana de direo da curva segue a sequncia de pontos de
controle P1P2P3.
40

Alm das propriedades observadas para as curvas analisadas acima, verifica-se tambm que
qualquer modificao da forma da curva obtida a partir da modificao da posio do
polgono de controle.

Os termos do polinmio de Bernstein Bi,n produzem sempre valores positivos em todo o


intervalo do espao paramtrico u (0 u 1) e para um dado valor u (0 u 1), obtm-se
n

B
i =0
i ,n (u ) = 1 . Verifica-se tambm que B0,n(0) = Bn,n(1) = 1 e que h apenas um nico mximo

para os polinmios Bi,n(u), localizado em u = i/n. Finalmente, observa-se que o conjunto de


polinmios Bi,n simtrico em relao ao centro do espao paramtrico (u = 0,5).

Como os polinmios de Lagrange, os polinmios de Bernstein podem tambm ser obtidos de


forma recursiva. Assim, tem-se:

Bi ,n = (1 u ) Bi ,n 1 (u ) + uBi 1,n 1 (u )

onde Bi,n(u) = 0 se i < 0 ou i > n.

Portanto, um ponto qualquer sobre uma curva C(u) pode ser obtido por interpolaes
lineares sucessivas. Para exemplificar, toma-se n = 2 e define-se:
2
C(u ) = Bi ,2 Pi = B0,2 P0 + B1,2 P1 + B2,2 P2
i =0

Logo:

C(u ) = (1 u 2 ) P0 + 2u (1 u ) P1 + u 2 P2 C(u ) = (1 u ) (1 u ) P0 + uP1 + u (1 u ) P1 + uP2

Da ltima expresso acima, constata-


se que os termos entre colchetes
representam interpolaes lineares
entre dois pontos de controle
consecutivos. Em dado um ponto fixo
u = u0, tem-se os seguintes valores
interpolados:

P1,0 = (1 u0 ) P0 + u0 P1

P1,1 = (1 u0 ) P1 + u0 P2

P2,0 = (1 u0 ) P1,0 + u0 P1,1

Logo, pode-se concluir que C(u0) =


P2,0.
Na figura acima e ao lado so
mostrados exemplos demonstrando
graficamente o processo de
41

interpolaes lineares sucessivas para curvas de graus 2 e 3.

Superfcies de Bzier so construdas de forma similar, considerando uma rede


bidimensional de pontos de controle e produtos de polinmios de Bernstein, como descrito
pela expresso abaixo:
n m
S (u , v ) = Bi ,n (u ) B j ,m (v ) Pi , j (0 u , v 1)
i =0 j =0

onde S(u,v) define um vetor de coordenadas parametrizadas {x(u,v); y(u,v); z(u,v)}T na


posio (u, v) do espao paramtrico normalizado [0, 1] x [0, 1] (ou seja, 0 u, v 1) e Pi,j o
vetor de coordenadas {x, y, z}T dos pontos de controle definidos em uma rede bidimensional
de dimenses n x m (posio indicial: i, j) (ver figura abaixo). Os polinmios de Bernstein Bi,n
e Bj,m, de grau n e m, respectivamente, esto associados a cada um dos pontos de controle
da rede de pontos bidimensional, os quais so localizados pelos ndices i e j. Os polinmios
de Bernstein de grau n e m so definidos por:

n!
Bi ,n (u ) = u i (1 u ) n i (i = 0, n)
i !(n i )!
m!
B j ,m (u ) = u j (1 u ) m j ( j = 0, m)
j !(m j )!
42

O Mtodo de Bzier pode ser aplicado na interpolao de curvas representadas por pontos
discretos [xi, f(xi)] da seguinte forma: supondo que seja fornecido um conjunto de pontos Qi
= {xi, f(xi)}T com i = 0, n e deseja-se interpolar estes pontos com uma curva de Bzier de grau
p. Determinando-se uma coordenada paramtrica uk para cada ponto Qk disponvel,
possvel obter o seguinte sistema de equaes lineares:
n
Q k = C(uk ) = Bi , p (uk ) Pi ( k = 0, n)
i =0

onde p = n. Neste sistema, as incgnitas so os n + 1 pontos de controle Pi = {xi, yi}. Para a


determinao das coordenadas paramtricas 0 uk 1, adota-se geralmente a seguinte
expresso:

u0 = 0 un = 1

Q k Q k 1
uk = uk 1 + (k = 1, n 1)
d
n
d = Q k Q k 1
k =1

A interpolao de curvas no espao e de superfcies segue os mesmos princpios.

2.1.8 Interpolao polinomial por B-splines

A formulao B-spline uma generalizao do mtodo de Bzier, onde h a possibilidade da


escolha do grau do polinmio independentemente do nmero de pontos de controle. Alm
disso, tem-se uma maior flexibilidade para realizao de alteraes na forma geomtrica de
curvas e superfcies j que as mudanas se do de forma localizada. Assim, alteraes em
determinados pontos de controle apenas so sentidas nos pontos de controle mais
prximos, em funo da ordem de continuidade imposta.

Uma curva paramtrica B-spline de grau p uma curva polinomial por pedaos dada por:
n
C(u ) = N ip (u )Pi
i =0
43

onde Pi (i = 0, n) so os pontos de controle e N ip (u ) so as funes de base, dadas pelas


seguintes frmulas de recorrncia:

1 se u [ui , ui +1 ]
N i0 (u ) =
0 se u [ui , ui +1 ]

u ui ui + p +1 u
N ip (u ) = N ip 1 (u ) + N ip+11 (u )
ui + p ui ui + p +1 ui +1

onde deve-se considerar que 0/0 = 0 quando ui = ui+1.

Para completar a formulao necessrio definir o chamado vetor de ns U, a partir do qual


estabelecido o domnio de validade das funes de base associadas a cada um dos pontos
de controle. O vetor de ns dado por U = {u0, u1, ..., um}T, onde os valores ui definem as
posies dos ns no espao paramtrico em uma sequncia no decrescente.
Consequentemente, os intervalos [ui, ui+1) estabelecem os domnios dos pedaos do
polinmio, sendo que para ui = ui+1 o intervalo apresenta comprimento nulo. Para curvas
abertas tem-se que m = n + p + 1 e para curvas fechadas m = n + p. Um vetor de ns formado
por ns igualmente espaados chamado de uniforme.

Observa-se que cada uma das funes de base N ip (u ) apresenta valores no nulos somente
no intervalo [ui, ui+p+1). Assim, um ponto u em uma curva influenciado por apenas p + 1
pontos de controle, o que caracteriza a propriedade de controle local sobre a geometria da
curva. Sobre os ns ui, as funes de base tm, em geral, continuidade Cp-1, a qual pode ser
reduzida quando mais do que um n definido com o mesmo valor. Sendo ki a
multiplicidade de um dado n ui, a continuidade das funes de base nesta posio fica
definida por Cp-k. No caso de curvas abertas, para forar que elas passem pelos pontos de
controle extremos, usa-se k0 = kn = p+1. A multiplicidade de um n pode ser interpretada de
duas formas: a) a multiplicidade de um n em relao ao vetor de ns; b) a multiplicidade de
um n em relao a uma funo de base.

Exemplo 1: dado o vetor de ns U = {u0 = 0, u1 = 0, u2 = 0, u3 = 1, u4 = 2, u5 = 3, u6 = 4, u7 = 4,


u8 = 5, u9 = 5, u10 = 5}T, considerando p = 2, determine as funes de base B-spline a serem
utilizadas na expresso abaixo:
n
C(u ) = N ip (u ) Pi
i =0

Como o vetor de ns aberto (k0 = k10 = p+1), tem-se m = 10 (ndice do ltimo n). Logo,
como m = n + p + 1, o ndice do ltimo ponto de controle ser n = m p 1 = 7. Assim, tem-
se m + 1 = 11 ns e n + 1 = 8 pontos de controle.

Usando a frmula recursiva para a definio das funes de base, obtm-se:

Funes de grau zero (constantes):

N 00 = N10 = 0 para < u <


44

1 0 u <1 1 1 u < 2
N 20 = N 30 =
0 caso contrrio 0 caso contrrio

1 2u<3 1 3u <4
N 40 = N 50 =
0 caso contrrio 0 caso contrrio

N 60 = 0 para < u <

1 4u<5
N 70 =
0 caso contrrio

N 80 = N 90 = 0 para < u <

Funes de grau 1 (lineares):

u 0 0 0u 0
N 01 = N0 + N1 = 0 para < u <
00 00

u 0 0 1 u 0 1 u 0 u <1
N11 = N1 + N2 =
00 1 0 0 caso contrrio

u 0 u <1
u 0 2 u
N 21 = N 20 + N 30 = 2 u 1 u < 2
1 0 2 1 0
casos restantes
45

u 1 1 u < 2
u 1 3 u
N31 = N30 + N 40 = 3 u 2u <3
2 1 3 2 0
casos restantes

u 2 2u<3
u 2 0 4u 0
N =
1
N4 + N5 = 4 u 3u < 4
3 2 43
4
0 casos restantes

u 3 0 4 u 0 u 3 3u < 4
N 51 = N5 + N6 =
43 44 0 caso contrrio

u 4 0 5 u 0 5 u 4u<5
N 61 = N6 + N7 =
44 54 0 caso contrrio

u 4 0 5 u 0 u 4 4u<5
N 71 = N7 + N8 =
54 55 0 caso contrrio

u 5 0 5u 0
N81 = N8 + N9 = 0 para < u <
55 55

Funes de grau 2 (quadrticas):

u 0 1 1 u 1
N 02 = N0 + N1 = (1 u ) para 0 u < 1
2

00 1 0

3
2u u 2 0 u <1
u 0 1 2u 1 2
N12 = N1 + N2 =
1 0 20 1 ( 2 u )2 1 u < 2
2
46

1 2
2 u 0 u <1

u 0 1 3u 1 3
N2 =
2
N2 + N 3 = + 3u u 2 1 u < 2
20 3 1 2
1
2 (3 u ) 2u<3
2

1
2 ( u 1) 1 u < 2
2


u 1 1 4 u 1 11
N3 =
2
N3 + N 4 = + 5u u 2 2u<3
3 1 42 2
1
2 (4 u) 3u <4
2

1
( u 2) 2u<3
2

u 2 4 u

N 42 = N 41 + N 51 = 2
42 43 16 + 10u 3 u 2 3u < 4
2

u 3 1 5 u 1 ( u 3) 3u < 4
2

N =
2
N5 + N6 =
( 5 u )
43 54
5
4u<5
2

u 4 1 5u 1
N 62 = N6 + N 7 = 2 ( u 4 )( 5 u ) para 4 u < 5
54 54

u 4 1 5u 1
N 72 = N7 + N8 = ( u 4 ) para 4 u < 5
2

54 55

Lembrando que o intervalo de validade (valores no nulos) das funes de base N ip (u )


definido por [ui, ui+p+1), observar que:

N 02 {0, 0, 0,1}

N12 {0, 0,1, 2}


47

N 22 {0,1, 2,3}

N52 {3, 4, 4,5}

Assim, embora a multiplicidade da posio paramtrica u = 0 seja igual a 3 em relao ao


vetor de ns, para as funes N 02 , N12 , N 22 e N 52 em u = 0 as multiplicidades so iguais a 3,
2, 1 e 0, respectivamente. Em u = 0 a funo N 02 descontnua, a funo N12 tem continuidade
C0, a funo N 22 tem continuidade C1 e a funo N 52 no tem qualquer efeito nesta posio.

Uma superfcie B-spline definida pelo produto tensorial de funes de base unidirecionais,
como mostra a expresso abaixo:
n m
S (u , v ) = N ip (u ) N qj (v ) Pi , j
i = 0 j =0

onde S(u,v) define um vetor de coordenadas parametrizadas {x(u,v); y(u,v); z(u,v)}T na


posio (u, v) do espao paramtrico e Pi,j o vetor de coordenadas {x, y, z}T dos pontos de
controle definidos em uma rede bidimensional de dimenses n x m (posio indicial: i, j) (ver
figura abaixo).

As funes de base N ip (u ) e N qj (v) , de grau p e q, respectivamente, esto associadas a cada


um dos pontos de controle da rede de pontos bidimensional, os quais so localizados pelos
ndices i e j. As funes de base so calculadas empregando-se a forma recursiva
apresentada acima para cada uma das direes paramtricas. Para completar a formulao,
dois vetores de ns devem ser definidos da seguinte maneira:

U = {u0 , u1 , , ur }

V = {v0 , v1 , , vs }
48

Para vetores de ns abertos U e V, empregam-se ns de extremidade com multiplicidades


p+1 e q+1, respectivamente. Consequentemente, as relaes entre nmero de pontos de
controle, grau das funes de base e nmero de ns levam s seguintes frmulas: r = n + p +
1 (direo u) e s = m + q + 1 (direo v).

Para utilizar a formulao B-spline na interpolao de curvas a partir de uma srie de dados
dispostos de forma discreta, ser necessrio determinar a posio dos pontos de controle
que faz com que a curva produzida passe pelos pontos pr-determinados.

Considerando que seja conhecido um conjunto de pontos Qk (k = 0, j) e deseja-se obter uma


curva B-spline de grau p que interpole estes pontos. Ao definir-se uma posio paramtrica
uk para cada ponto Qk, um sistema de equaes lineares pode se obtido da seguinte forma:

n
Q k = C ( uk ) = N ip (uk ) Pi
i =0

Neste sistema, as incgnitas so os n + 1 pontos de controle Pi = {xi, yi}. Para a determinao


das coordenadas paramtricas 0 uk 1, adota-se geralmente a seguinte expresso:

u0 = 0 un = 1

Q k Q k 1
uk = uk 1 + (k = 1, n 1)
d
n
d = Q k Q k 1
k =1

Para a definio do vetor de ns U = {u0, u1, ..., um}T pode-se adotar a seguinte metodologia:

u0 = = u p = 0

um p = = um = 1
49

1 k + p 1
uk + p = ui
p i =k
( k = 1, , n p )

A interpolao de curvas no espao e de superfcies segue os mesmos princpios.

3. Aproximao

Ao contrrio da tcnica de interpolao, onde se deseja obter uma funo que passe por
determinados pontos previamente escolhidos, na tcnica de aproximao busca-se uma
funo que seja a mais prxima possvel de uma dada funo ou de um conjunto de dados
discretos. Assim, pode-se dizer que atravs de interpolao obtm-se sempre uma funo
que satisfaz um conjunto de dados ou uma funo conhecida apenas localmente nos pontos
especificados, enquanto que a funo obtida por aproximao ir satisfazer de forma
aproximada os dados existentes de uma forma global.

3.1. Aproximao de dados discretos por mnimos quadrados

Considerando que a1xi + a0 indica o valor de uma equao de aproximao linear em xi (i = 1,


n) para um conjunto de dados conhecidos (xi, y(xi)). Uma alternativa para descrever o
problema da busca da melhor equao de aproximao linear em termos absolutos seria
determinar os valores a0 e a1 de tal forma que minimizem a seguinte expresso:

{
E ( a0 , a1 ) = mx y ( xi ) ( a1 xi + a0 )
1i n
}
O problema acima conhecido como minimax e, normalmente, no pode ser resolvido por
tcnicas elementares.

Outra abordagem para o problema consiste na busca de valores a0 e a1 que minimizem a


seguinte equao:
n
E1 ( a0 , a1 ) = y ( xi ) ( a1 xi + a0 )
i =1

O valor obtido a partir da expresso acima chamado de desvio absoluto, cujo mnimo
obtido igualando-se a zero a primeira derivada de E1 em relao a a0 e a1, ou seja:

a0
y ( x ) (a x + a ) = 0
i =1
i 1 i 0

n
y ( xi ) ( a1 xi + a0 ) = 0
a1 i =1

O problema da formulao acima que a funo de valor absoluto no diferencivel em


zero.

Por fim, pode-se empregar a abordagem de mnimos quadrados para o problema, a qual
busca a determinao da melhor equao de aproximao considerando que o erro total
50

envolvido medido pela soma dos quadrados das diferenas entre os valores existentes y(xi)
e os valores dados pela equao de aproximao nestes mesmos pontos xi, isto :
n
E2 ( a0 , a1 ) = y ( xi ) ( a1 xi + a0 )
2

i =1

Portanto, no caso de aproximao linear, as constantes a0 e a1 devem ser determinadas a


fim de que minimizem o erro de mnimos quadrados, ou seja:

n n

y ( x ) ( a x + a ) = 2 y ( xi ) a1 xi a0 ( 1) = 0
2

a0
i 1 i 0
i =1 i =1

n n

( i ) ( 1 i 0 ) y ( xi ) a1 xi a0 ( xi ) = 0
2
y x a x + a = 2
a1 i =1 i =1

Das expresses acima se obtm as chamadas equaes normais, dadas por:


n n
a0 .n + a1 xi = y ( xi )
i =1 i =1

n n n
a0 xi + a1 xi2 = xi y ( xi )
i =1 i =1 i =1

A soluo do sistema de equaes acima :


n n n n

xi2 y ( xi ) xi y ( xi ) xi
a0 = i =1 i =1 i =1
2
i =1

n
n
n xi2 xi
i =1 i =1
n n n
n xi y ( xi ) xi y ( xi )
a1 = i =1 i =1 i =1
2

n
n
n xi2 xi
i =1 i =1

Comparando as alternativas descritas acima, observa-se que a abordagem minimax


geralmente acaba por dar muito peso a um conjunto de dados que pode ter um erro muito
significativo, enquanto que o mtodo do desvio absoluto no d um peso suficiente a um
ponto que esteja muito fora da curva de aproximao. J o mtodo de mnimos quadrados
atribui um peso muito mais significativo a um ponto que esteja fora da curva em relao aos
pontos restantes. No entanto, o mtodo no permite que esse ponto fora da curva domine
completamente a aproximao.

Exemplo 1: encontre a equao de aproximao linear para os dados fornecidos abaixo:

xi 1 2 3 4 5 6 7 8 9 10
f(xi) 1,3 3,5 4,2 5,0 7,0 8,8 10,1 12,5 13,0 15,6
51

Primeiramente, construda a tabela mostrada abaixo contendo os dados necessrios para a


obteno das constantes a0 e a1 a partir das expresses mostradas mais acima.

xi f(xi) (xi)2 xif(xi) P(xi) = 1,538.xi 0,360


1 1,3 1 1,3 1,18
2 3,5 4 7,0 2,72
3 4,2 9 12,6 4,25
4 5,0 16 20,0 5,79
5 7,0 25 35,0 7,33
6 8,8 36 52,8 8,87
7 10,1 49 70,7 10,41
8 12,5 64 100,0 11,94
9 13,0 81 117,0 13,48
10 15,6 100 156,0 15,02
= 55 = 81 = 385 = 572,4 (f(xi) P(xi))2 = 2,34

Logo:

385.81 55.572, 4
a0 = = 0, 360
10.385 ( 55 )
2

10.572, 4 55.81
a1 = = 1, 538
10.385 ( 55 )
2

Portanto:

P ( x ) = 1,538 x 0,360 .

Para um conjunto de dados discretos (xi, y(xi)), com i = 1, m, a ser aproximado por um
polinmio algbrico Pn(x) = anxn + an-1xn-1 + ... + a1x + a0, de grau n < m-1, tem-se o erro total
da aproximao em mnimos quadrados dado por:
m
E2 = y ( xi ) Pn ( xi )
2

i =1

Logo:
m m m
E2 = ( y ( xi ) ) 2 Pn ( xi ) y ( xi ) + ( Pn ( xi ) )
2 2

i =1 i =1 i =1

2
m m n m n
E2 = ( y ( xi ) ) 2 a j xi j y ( xi ) + a j xij
2

i =1 i =1 j =1 i =1 j =1
52

m n
m n n m
E2 = ( y ( xi ) ) 2 a j y ( xi ) xij + a j ak xij + k
2

i =1 j =0 i =1 j =0 k =0 i =1

Para minimizar E2 considera-se que E2/aj = 0 para j = 0, n. Assim, tem-se:

m n
m
E2 = 2 y ( xi ) xi j + 2 ak xi j + k = 0
a j i =1 k =0 i =1

Da expresso acima se obtm um sistema de equaes normais com n + 1 incgnitas aj, isto
:

n
m j +k m
k xi = y ( xi ) xi ( j = 0, n)
j
a
k =0 i =1 i =1

o qual pode tambm ser representado por:


m m m m
a0 xi0 + a1 xi1 + + an xin = y ( xi ) xi0
i =1 i =1 i =1 i =1
m m m m
a0 xi1 + a1 xi2 + + an xin +1 = y ( xi ) xi1
i =1 i =1 i =1 i =1

m m m m
a0 xin + a1 xin +1 + + an xi2 n = y ( xi ) xin
i =1 i =1 i =1 i =1

Quando os pontos xi so distintos, as equaes normais fornecem uma soluo nica.

Exemplo 2: para os dados da tabela abaixo determine a equao de aproximao por


mnimos quadrados usando um polinmio de grau 2.

i 1 2 3 4 5
xi 0,0 0,25 0,50 0,75 1,0
f(xi) 1,0000 1,2840 1,6487 2,1170 2,7183

Levando em conta que neste problema n = 2 e m = 5, obtm-se o seguinte sistema de


equaes normais:
5 5 5 5
a0 xi0 + a1 xi1 + a2 xi2 = y ( xi ) xi0
i =1 i =1 i =1 i =1

5 5 5 5
a0 xi1 + a1 xi2 + a2 xi3 = y ( xi ) xi1
i =1 i =1 i =1 i =1

5 5 5 5
a0 xi2 + a1 xi3 + a2 xi4 = y ( xi ) xi2
i =1 i =1 i =1 i =1
53

Para a obteno da soluo do sistema acima, monta-se a tabela a seguir:

i xi f(xi) (xi)0 (xi)1 (xi)2 (xi)3 (xi)4 f(xi). (xi)0 f(xi). (xi)1 f(xi). (xi)2
1 0,0 1,0000 1,0 0,0 0,0 0,0 0,0 1,0000 0,0 0,0
2 0,25 1,2840 1,0 0,25 0,0625 0,01563 0,0039 1,2840 0,321 0,0803
3 0,50 1,6487 1,0 0,50 0,25 0,125 0,0625 1,6487 0,8244 0,4122
4 0,75 2,1170 1,0 0,75 0,5625 0,4219 0,3164 2,1170 1,5878 1,1908
5 1,0 2,7183 1,0 1,0 1,0 1,0 1,0 2,7183 2,7183 2,7183
- - 5,0 2,5 1,875 1,5625 1,3828 8,7680 5,4514 4,4015

Logo, obtm-se:

5a0 + 2,5a1 + 1,875a2 = 8, 7680

2, 5a0 + 1,875a1 + 1,5625a2 = 5, 4514

1,875a0 + 1,5625a1 + 1, 3828a2 = 4, 4015

A soluo do sistema de equaes acima : a0 = 1,0051; a1 = 0,86468 e a2 = 0,84316.


Portanto, o polinmio representando a equao de aproximao fica definido como: P(x) =
1,0051 + 0,86468x + 0,84316x2. O erro total da aproximao dado por:
5
E2 = y ( xi ) Pn ( xi ) = 2, 74x104
2

i =1

O que corresponde ao mnimo que pode ser obtido a partir de um polinmio de grau 2.

Ao invs de um polinmio, a equao de aproximao pode ter uma forma distinta. Por
exemplo, se os dados disponveis esto relacionados de maneira exponencial ou em funo
de potncia, a funo de aproximao passa a ser dada por:

F ( x ) = be ax
54

ou:

F ( x ) = bx a

Neste caso, o erro total por mnimos quadrados para um conjunto de n dados dispostos de
forma discreta fica definido por uma das seguintes expresses:
n
E2 = y ( xi ) be axi
2

i =1

n
E2 = y ( xi ) bxia
2

i =1

Para minimizar E2 em relao s constantes a e b, obtm-se:

( )
n
E2 = 2 y ( xi ) be axi e axi = 0
b i =1


( )
n
E2 = 2 y ( xi ) be axi bxi e axi = 0
a i =1

ou, ainda:

E2 = 2 y ( xi ) bxia ( xia ) = 0
n

b i =1


E2 = 2 y ( xi ) bxia ( b(Ln xi ) xia ) = 0
n

a i =1

O problema das equaes acima que, geralmente, nenhuma soluo exata pode ser
encontrada para as incgnitas a e b. O mtodo normalmente utilizado consiste em
considerar o logaritmo das equaes aproximativas:

Ln F ( x ) = Ln a + bx para F ( x ) = aebx

Ln F ( x ) = Ln a + b Ln x para F ( x ) = ax b

Assim, o problema reduzido a um problema de aproximao linear do tipo:

y ( xi ) = a0 + a1 xi a0 = Ln a; a1 = b; y ( xi ) Ln y ( xi )

ou:

y ( xi ) = a0 + a1 xi a0 = Ln a; a1 = b; y ( xi ) Ln y ( xi ); xi Ln xi

As constantes ao e a1 so determinadas pelas equaes normais referentes a uma equao


de aproximao linear dada em termos das constantes a e b, ou seja:
55

n n n n n n n

xi2 Ln y ( xi ) xi xi Ln y ( xi ) n xi Ln y ( xi ) xi Ln y ( xi )
Ln a = i =1 i =1 i =1 i =1
2
b= i =1 i =1 i =1
2
n
n n
n
n x xi 2
i n x xi
2
i
i =1 i =1 i =1 i =1
ou:
n n n n

( Ln x ) Ln y ( x ) Ln x Ln x Ln y ( x )
2
i i i i i
Ln a = i =1 i =1 i =1 i =1
2
n
n
n ( Ln xi ) Ln xi
2

i =1 i =1
n n n
n Ln xi Ln y ( xi ) Ln xi Ln y ( xi )
b= i =1 i =1 i =1
2
n

n
n ( Ln xi ) Ln xi
2

i =1 i =1
Entretanto, como a abordagem utilizada no exatamente uma aproximao por mnimos
quadrados devido linearizao realizada e, por isso, essa aproximao pode, em alguns
casos, divergir significativamente da aproximao obtida por mnimos quadrados atravs da
soluo de um sistema de equaes no lineares.
A partir dos dados disponveis possvel fazer uma rpida estimativa da forma da curva de
aproximao. Para um conjunto de dados (xi, f(xi)) com i = 0, n, tem-se que:

a funo de aproximao ser uma equao linear (reta) se: fi/xi constante, onde
fi = f(xi+1) - f(xi) e xi = xi+1 xi.

a funo de aproximao ser uma parbola se: 2fi constante, onde 2fi = fi+1 -
fi.

a funo de aproximao uma funo exponencial se: Log(fi)/xi constante,


onde Log(fi) = Log(f(xi+1)) - Log(f(xi)).

a funo de aproximao uma funo de potncia se: Log(fi)/Log(xi) constante,


onde Log(fi) = Log(f(xi+1)) - Log(f(xi)) e Log(xi) = Log(xi+1) - Log(xi).

Alm disso, a prpria visualizao da disposio dos pontos sobre o plano x-y ajuda a
identificar a forma da curva de aproximao.
Exemplo 3: para os dados abaixo, determine a funo de aproximao por mnimos
quadrados.

i xi f(xi)
1 1,0 5,10
2 1,25 5,79
3 1,50 6,53
4 1,75 7,45
5 2,00 8,46
56

Avaliando os dados apresentados, verifica-se que Log(fi)/xi constante para i = 1,5, o que
indica que a funo de aproximao tem forma exponencial. Assim, tem-se que:

F ( x ) = aebx Ln F ( x ) = Ln a + bx

O problema pode ser aproximado linearmente usando-se:

y ( xi ) = a0 + a1 xi a0 = Ln a; a1 = b; y ( xi ) Ln y ( xi )

Portanto:
n n n n n n n

xi2 Ln y ( xi ) xi xi Ln y ( xi ) n xi Ln y ( xi ) xi Ln y ( xi )
Ln a = i =1 i =1 i =1 i =1
2
b= i =1 i =1 i =1
2
n
n n
n
n x xi
2
i n x xi
2
i
i =1 i =1 i =1 i =1

Para a determinao dos parmetros acima so usados os dados apresentados na tabela a


seguir:

i xi y(xi) Ln y(xi) (xi)2 xi.Ln y(xi)


1 1,0 5,10 1,629 1,0 1,629
2 1,25 5,79 1,756 1,5625 2,195
3 1,50 6,53 1,876 2,2500 2,814
4 1,75 7,45 2,008 3,0625 3,514
5 2,0 8,46 2,135 4,0 4,270
7,50 - 9,404 11,875 14,422

Assim, aplicando os dados acima nas frmulas referentes aos parmetros Ln(a) e b, obtm-
se:

11,875.9, 404 14, 422.7,5


Ln a = = 1,122
5.11,875 7, 52

5.14, 422 7, 5.9, 404


b= = 0, 5056
5.11,875 7,52

Pela frmula exponencial, obtm-se:

F ( x ) = aebx F ( x ) = 3, 071e 0,5056 x

lembrando que a = e1,122 = 3,071.


57

3.2. Aproximao de funes por mnimos quadrados

O problema bsico da aproximao de funes surge quando se deseja obter uma funo de
aproximao para uma dada funo f(x) j conhecida.

Supondo que f(x) seja uma funo representando uma curva qualquer definida em um
intervalo [a, b] no eixo x, o erro por mnimos quadrados gerado por um polinmio de
aproximao Pn(x) com grau mnimo n em relao quela curva vem dado por:
b
E = f ( x ) Pn ( x ) dx
2

Define-se o polinmio Pn(x) como sendo:


n
Pn ( x ) = an x n + an 1 x n 1 + + a1 x + a0 = ak x k
k =0

Logo, a fim de minimizar o erro E, os coeficientes a0, a1, ..., an devem ser determinados
empregando-se a seguinte condio necessria:


E =0 ( j = 0, n)
a j

Assim, obtm-se que:


2
n
b b n b b
E = f ( x ) Pn ( x ) dx = f ( x ) dx 2 ak x f ( x ) dx + ak x k dx
2 2 k

a a k =0 a a k =0


b n b
E = 2 x j f ( x)dx + 2 ak x j + k dx
a j a k =0 a

A expresso acima leva a um sistema de n + 1 equaes lineares formado pelas chamadas


equaes normais, representadas aqui na seguinte forma:
58

n b b

ak x j + k dx = x j f ( x)dx
k =0
( j = 0, n)
a a

O sistema de equaes normais resolvido para as n + 1 incgnitas aj e tem sempre soluo


nica desde que a funo f(x) seja contnua no intervalo [a, b].

Exemplo 1: encontre o polinmio de aproximao de grau 2 por mnimos quadrados para a


funo f(x) = sen(x) no intervalo [0, 1].

Para um polinmio de grau 2 tem-se que P2(x) = a0 + a1x + a2x2. O sistema de equaes
normais para este problema fica definido como:

2 1 1

a x
k =0
k
j+k
dx = x j sen( x)dx ( j = 0, 2)
0 0

1 1 1 1
a0 1dx + a1 xdx + a2 x 2 dx = sen( x)dx
0 0 0 0

1 1 1 1
a0 xdx + a1 x 2 dx + a2 x 3 dx = x sen( x) dx
0 0 0 0

1 1 1 1
a0 x 2 dx + a1 x3 dx + a2 x 4 dx = x 2 sen( x) dx
0 0 0 0

Calculando as integrais, obtm-se:

1 1 2
a0 + a1 + a2 =
2 3

1 1 1 1
a0 + a1 + a2 =
2 3 4

1 1 1 2 4
a0 + a1 + a2 =
3 4 5 3

A soluo do sistema fornece: a0 = -0,050465; a1 = 4,12251 e a2 = -4,12251. Logo, o


polinmio de aproximao P2(x) = -0,050465 + 4,12251x 4,12251x2.

Polinmios ortogonais

A obteno de polinmios de aproximao por mnimos quadrados passa geralmente pela


soluo de um sistema de equaes lineares mal condicionado (matriz de coeficientes de
Hilbert). Uma alternativa para simplificar o processo de determinao das funes de
aproximao consiste na utilizao de polinmios ortogonais.

Um conjunto de funes {0, ..., n} linearmente independente no intervalo [a, b] quando a


condio:
59

c00 ( x ) + c11 ( x ) + + cnn ( x ) = 0 ( x [ a, b ])


satisfeita apenas para c0 = c1 = ... = cn = 0. Caso contrrio, o conjunto de funes dito
linearmente dependente.

Se j(x) um polinmio de grau j (j = 0,n), possvel demonstrar que {0, ..., n}


linearmente independente em qualquer intervalo [a, b]. Sabe-se tambm que se {0(x), 1(x),
..., n(x)} um conjunto de polinmios independentes em n (conjunto de todos os
polinmios de grau no mximo n), ento qualquer polinmio em n pode ser escrito
unicamente como uma combinao linear de 0(x), 1(x), ... e n(x).

Uma funo w(x) chamada de funo ponderada em um intervalo I = [a, b] se w(x) 0 para
todo x I e, alm disso, w(x) 0 em qualquer subintervalo de I. O objetivo do uso de
funes ponderadas consiste em atribuir diferentes graus de importncia para as
aproximaes em determinadas regies de um dado intervalo I (ver figura abaixo).

Supondo que {0, 1, ..., n} seja um conjunto de funes linearmente independentes em [a,
b] e w(x) uma funo ponderada, o erro por mnimos quadrados da aproximao P(x) para
uma funo f(x) vlida no intervalo [a, b] dado por:
b
E = w ( x ) f ( x ) P ( x ) dx
2

onde P(x) deve ser expresso usando-se a seguinte combinao linear:


n

a ( x)
k =0
k k

Para minimizar o erro, considera-se que:


b
n

E = 2 w ( x ) f ( x ) akk ( x ) j ( x ) dx = 0 ( j = 0, n)
a j a k =0

O sistema de equaes normais fica definido como:


60

b n b

w ( x ) f ( x ) j ( x ) dx = ak w ( x ) k ( x ) j ( x ) dx
a k =0 a
( j = 0, n)

Se as funes 0, 1, ..., n satisfazem a condio de ortogonalidade:


b
0 quando j k
a w ( x ) ( x ) ( x ) dx =
j > 0 quando j = k
k j

as equaes normais reduzem-se a:


b b

w ( x ) f ( x ) j ( x ) dx = a j w ( x ) j ( x ) dx
2
( j = 0, n)
a a

b
w ( x ) f ( x ) j ( x ) dx = a j j ( j = 0, n)
a

Assim:
b
1
aj =
j w ( x ) f ( x ) ( x ) dx
a
j ( j = 0, n)

Com isso, observa-se que o processo de determinao da funo de aproximao por


mnimos quadrados torna-se bastante simplificado quando as funes 0, 1, ..., n
satisfazem a condio de ortogonalidade. Diz-se ento que {0, 1, ..., n} um conjunto
ortogonal de funes no intervalo [a, b] em relao funo ponderada w(x). Quando,
adicionalmente, k = 1 para k = 0, n, o conjunto chamado de ortonormal.

Um procedimento recursivo pode ser adotado para a obteno de polinmios de


aproximao ortogonais por mnimos quadrados. importante lembrar que se j(x) um
polinmio de grau j (j = 0, n), o conjunto {0, ..., n} linearmente independente em
qualquer intervalo [a, b]. Assim, um conjunto de funes polinomiais {0, ..., n} em um
intervalo [a, b] que seja ortogonal em relao a uma funo ponderada w(x) pode ser obtido
a partir das seguintes frmulas:

0 ( x ) = 1; 1 ( x ) = x B1 ( x [ a , b ])

xw( x) [ ( x)]
2
0 dx
B1 = a
b

w( x) [ ( x)]
2
0 dx
a

e para k 2:

k ( x ) = ( x Bk ) k 1 ( x ) Ckk 2 ( x ) ( x [ a , b ])
61

b b

xw( x) [ ( x ) ] dx xw( x) ( x )k 2 ( x ) dx
2
k 1 k 1

Bk = a
b
Ck = a
b

w( x) [k 1 ( x)] dx w( x) [ ( x ) ] dx
2 2
k 2
a a

Finalmente, o polinmio de aproximao obtido pela seguinte combinao linear:


n
Pn ( x ) = akk ( x )
k =0

onde:
b

w ( x ) f ( x ) ( x ) dxk

ak = a
b
( k = 0, n)
w ( x ) ( x )
2
k dx
a

Exemplos de polinmios ortogonais so encontrados nos polinmios de Legendre e de


Chebyshev:

1 dn 2
n (
x 1)
n
- Legendre: Pn ( x) =
2 n ! dx
n

- Chebyshev (forma trigonomtrica): Tn ( x ) = cos [ n arccos( x ) ] ( n 0)

Exemplo 4: obtenha uma aproximao por mnimos quadrados para a funo f(x) = x2 + 3x +
2 no intervalo [0, 1]. Use um polinmio de aproximao linear e o conceito de
ortogonalidade.

Usando polinmios ortogonais e adotando-se w(x) = 1, obtm-se:

0 ( x ) = 1 ( x [0,1])
1 ( x ) = x B1 ( x [0,1])
b 1

xw( x) [0 ( x)] dx x dx
2

1
B1 = a
b
= 0
1
=
2
w( x) [ ( x)] dx
2
0 dx
a 0

Logo:

1
1 ( x) = x B1 = x
2
62

w ( x ) f ( x ) ( x ) dx
k

ak = a
b

w ( x ) ( x )
2
k dx
a

1 1

( x + 3x + 2 ) 0 ( x ) dx (x + 3 x + 2 ) dx
2 2

23
a0 = 0
1
= 0
1
=
6
( x )
2

0
0 dx dx
0

1 1

( x + 3x + 2 )1 ( x ) dx (x + 3 x + 2 ) x dx
2 2 1
2 13
a1 = 0
1
= 0
1 2
= =4
1 1 12
( x )
2

0
1 dx x 2
0
dx

Assim, tem-se:

1
23 1
P1 ( x ) = ak k ( x ) = a00 ( x ) + a11 ( x ) = + 4 x
k =0 6 2

P1 ( x ) = 1,8333 + 4 x

Observe que o conjunto {0, 1} satisfaz a condio de ortogonalidade.

Polinmios trigonomtricos

Supondo que Fn represente o conjunto de todas as combinaes lineares das funes 0, 1,


... e 2n-1, envolvendo polinmios trigonomtricos de grau menor ou igual a n, onde:

1
0 ( x ) =
2

k ( x) = cos(kx) ( k = 1, n)

n + k ( x) = sen( kx) ( k = 1, n 1)

Observa-se que este conjunto ortogonal no intervalo [-, ] em relao a uma funo
ponderada dada por w(x) = 1.

Para uma funo f(x) contnua no intervalo [-, ], deseja-se encontrar a aproximao por
mnimos quadrados para funes em Fn atravs de:
n 1
a0
Sn ( x) = + an cos( nx ) + [ ak cos( kx ) + bk sen( kx ) ]
2 k =1
63

Como o conjunto de funes {0, 1, ... e 2n-1} ortogonal no intervalo [-, ] em relao a
w(x) = 1, os coeficientes ak e bk na expresso acima podem ser obtidos atravs de:

1
ak =


f ( x) cos( kx) dx (k = 0, n)


1
bk =


f ( x)sen( kx) dx (k = 1, n 1)

Tomando-se o limite de Sn(x) quando n , define-se a chamada srie de Fourier de f(x),


isto :

S ( x ) = lim S n ( x )
n

Exemplo 5: determinar o polinmio trigonomtrico de Fn que aproxima a funo f(x) = x


para - < x < .

Primeiramente preciso determinar os coeficientes a0, ak e bk empregando-se:


0
1 1 1 2
a0 =


x dx =
x dx + x dx = x dx =
0 0


1 2 2
ak = x cos(kx) dx = x cos(kx ) dx = ( 1) 1 (k = 1, n 1)
k


0
k 2


1
bk =


x sen(kx) dx = 0 ( k = 1, n 1)

O polinmio trigonomtrico de Fn que aproxima a funo f(x) , portanto:


n 1
a0
Sn ( x) = + an cos( nx ) + [ ak cos( kx ) + bk sen( kx ) ]
2 k =1

( 1) 1
k
2 n
Sn ( x) =
2
+

k =1 k 2
cos( kx )

Na figura abaixo so mostrados os primeiros trs polinmios trigonomtricos de Fn para a


funo f(x) = x.
64