Você está na página 1de 31

Introduc

ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

comum conhecermos alguns pontos de uma func


E
ao, mas n
ao a func
ao em si. O problema
natural
e ent
ao como aproximar a func
ao a partir apenas destes pontos.

Splines

Seus direitos e deveres s


ao:

Interpolacao
Ricardo Biloti
biloti@ime.unicamp.br

C
alculo Numerico UNICAMP

1S/2016
http://goo.gl/BWyAn

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Voc
e
e livre para copiar e redistribuir este material, em qualquer meio ou formato,
para adapt
a-lo, transform
a-lo ou utiliz
a-lo para construir seu pr
oprio material.

Licenca

Voc
e deve dar os cr
editos apropriados, fornecendo link para a licenca e indicando se
alteraco
es foram feitas. Voc
e pode fazer isto de qualquer forma razo
avel, por
em sem
tentar passar a ideia ou sugerir que o autor endosse suas alterac
oes ou seu uso do
material.
Voc
e n
ao pode utilizar este material para fins comerciais.
Se voc
e alterar, transformar ou construir seu pr
oprio material com base neste
trabalho, voc
e dever
a distribu-lo sob a mesma licenca usada no original.

Este trabalho
e licenciado sob os termos da Licenca Internacional
Creative Commons Atribuic
ao-N
aoComercial-CompartilhaIgual 4.0.
Para ver uma c
opia desta licenca, visite
http://creativecommons.org/licenses/by-nc-sa/4.0/.

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Vamos considerar o problema de encontrar uma func


ao contnua que passe por um conjunto
de pontos no plano, amostras de uma func
ao desconhecida ou complexa o suficiente para
valer a pena aproxima-la por outra mais simples.

Splines

Como exemplo, vamos considerar a func


ao seno. De fato, s
o conhecemos o valor desta
func
ao em alguns
angulos not
aveis, como o 0, /4, /3 e /2 (e seus m
ultiplos). O
problema que se coloca ent
ao
e, partindo dos valores de seno nestes
angulos, como aproximar
os valores da func
ao para outros pontos n
ao tabelados?

Problema

Dado um conjunto de pontos,


encontrar uma funcao que passe por esses pontos

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Exemplo

A curva tracejada
e o gr
afico da func
ao seno. Podemos colocar nosso objetivo da seguinte
maneira: desejo encontrar uma func
ao contnua que passe pelos pontos marcados no gr
afico.
Ser
a que isto
e suficientemente preciso?

sin(x)

/4

/3

2
2

3
2

/2
De fato, apenas pedir uma func
ao contnua ainda
e muito vago (ou mal posto). H
a infinitas
possveis soluc
oes para o problema quando colocado assim. A curva azul
e outra possibilidade.

necess
E
ario ser mais preciso.
1
0,8
0,6
0,4
0,2
0
0

http://goo.gl/BWyAn

0,4

Ricardo Biloti

0,8

Interpolac
ao

1,2

1,6

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Vamos especificar que tipo de curva contnua nos interessa. Aqui lidaremos com o problema de
interpolac
ao polinomial apenas, ou seja, procuraremos um polin
omio que passe pelos pontos
prescritos.

Splines

Antes de iniciarmos uma discuss


ao te
orica, vamos fazer um exerccio. Dados tr
es pontos
tabelados, queremos determinar o polin
omio que passa por esses tr
es pontos.

Interpolacao polinomial

Dado um conjunto de pontos,


encontrar um polin
omio que passe por esses pontos
p(x) = a0 + a1 x + + an x n

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

A primeira pergunta a fazer


e qual o grau mnimo do polin
omio para termos a chance de
resolver o problema?

Exerccio

Depois de determinado o grau, devemos impor que o polin


omio em cada um dos valores para
x assume o valor y correspondente, e com isto determinar os coeficientes do polin
omio.

Qual o polinomio p que passa pelos pontos abaixo?

http://goo.gl/BWyAn

xk

yk

10

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Exerccio

Neste caso, basta um polin


omio de grau dois (com tr
es coeficientes a determinar). Como
temos tr
es condic
oes (ditas condico
es de interpolac
ao), recairemos num sistema com tr
es
inc
ognitas (os coeficientes do polin
omio) e tr
es equac
oes (as condic
oes de interpolac
ao).
Se p(x) = a + bx + cx 2 , ent
ao impondo que p(1) = 6, p(2) = 3 e p(3) = 10, temos o
seguinte sistema linear
p(1) = a b + c = 6
p(2) = a + 2b + 4c = 3
p(3) = a + 3b + 9c = 10

Qual o polinomio p que passa pelos pontos abaixo?


xk

yk

10

Resolvendo este sistema linear, descubrimos que p(x) = 1 3x + 2x 2 .


A escolha de ter descrito um polin
omio de grau dois como a + bx + cx 2 foi nossa, por
em
outras s
ao possveis. Alterar a maneira como p
e representado tem o impacto de alterar o
sistema linear a ser resolvido. Por exemplo, se propusermos p(x) = + (x 3) + (x 3)2 ,
o sistema linear fica:

p(x) = 1 3x + 2x 2

p(1) = 4 + 16 = 6
p(2) = +
p(3) =

+ 4 = 1
+ = 7

=3
= 10

= 10

Desta forma ficamos com um sistema linear 22 apenas para resolver. Repare que o polin
omio
obtido
e o mesmo, apenas escrito de forma diferente.
http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Exerccio

f (0) = a,

f 0 (0) = b, e

f (L) = c

L
http://goo.gl/BWyAn

Neste problema conhecemos o valor de uma func


ao em dois pontos e sua derivada em
um ponto e queremos novamente encontrar um polin
omio que tenha estas mesmas tr
es
caractersticas. Este
e um problema comum na
area de otimizac
ao.
Neste exemplo, vale a pena chamar a atenc
ao de que interpolac
ao al
em de ser importante
por si s
o, tamb
em
e um ingrediente de outros m
etodos num
ericos.

Aproxime f por um polin


omio, sabendo que
I

Splines

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Como temos quatro informaco


es,
e f
acil perceber que precisamos ajustar um polin
omio de
grau 3 (com quatro coeficientes a determinar).
Qual seria uma forma propcia para representar o polin
omio interpolador neste caso, de
maneira a simplificar as contas?

Exerccio

Experimente montar o sistema linear para as seguintes representaco


es de p(x):
p(x) = a0 + a1 x + a2 x 2 + a3 x 3
p(x) = b0 (x 1)2 + b1 (x 1)3 + b2 (x 2)2 + b3 (x 2)2

Encontre p tal que

p(x) = c0 + c1 (x 1) + c2 (x 1)2 + c3 (x 1)3

p(x)

p 0 (x)

Para que haja solucao u


nica, qual deve ser o grau de p?

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Splines

Este exerccio
e similar ao anterior, por
em agora propomos uma forma bem mais elaborada
de representar o polin
omio interpolador.
Siga o roteiro:

Exerccio

1. Represente p como

p(x) = c0

Encontre o polin
omio interpolador de grau 3 que satisfaz as
condicoes
p(1) = 0 ,
0

p (1) = 0 ,

p(1) = 1 ,

2. Imponha as condic
oes de interpolac
ao e descubra os coeficientes c0 , c1 , c2 e c3 .
Como ficou o sistema linear a ser resolvidos?

p (1) = 1 .

3. Faca o gr
afico das quatro func
oes utilizadas na representac
ao de p e tente descobrir o
que elas tem de especial que facilitou o problema. Para isso, analise o comportamento
dessas func
oes nos pontos de interpolac
ao.

Dica: represente p como combinacao linear de




(x + 2)(x 1)2
(x + 2)(x 1)2 (x + 1)(x 1)2 (x + 1)2 (x 1)
, 1
,
,
4
4
4
4

Faca o grafico destas func


oes. O que elas tem de especial?

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao




(x + 2)(x 1)2
(x + 2)(x 1)2
+ c1 1
+
4
4




2
2
(x + 1)(x 1)
(x + 1) (x 1)
c2
+ c3
4
4

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Com os exemplos e exerccios anteriores podemos destacar as principais caractersticas do


problema de interpolac
ao polinomial.
Em primeiro lugar, perceba que voc
e n
ao precisa saber qualquer t
ecnica especial para resolver
o problema de interpolac
ao. No m
aximo, o problema recair
a na resoluc
ao de um sistema linear.

Caractersticas

Em todos os exemplos, e isto


e um fato universal, procuramos polin
omios interpoladores de
baixa ordem. Raramente ser
a preciso ou aconselh
avel construir polin
omios interpoladores
com grau maior que quatro.

Pode ser resolvido sem qualquer tecnica especial

Polinomio interpolador de baixa ordem

Dificuldade depende de como o problema e formulado

Interpolacao e ingrediente para outros metodos

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Formulacao

Splines

Vimos exemplos com diferentes condic


oes de interpolac
ao: sobre o valor de func
ao e sobre
o valor de derivada primeira. Outras condic
oes poderiam ainda ser impostas, como por
exemplo, sobre derivadas de ordem superior, ou condic
oes de suavidade.
Para a discuss
ao analtica que se segue, concentraremo-nos em resolver o problema cl
assico
de interpolac
ao polinomial, no qual um conjunto de pontos no plano
e conhecido, com a
propriedade de que n
ao h
a dois pares amostrados com a mesma abscissa, e o objetivo ser
a
encontrar um polin
omio de grau mnimo que passe por sobre estes pontos.

Dado = {(xk , yk ) | xk1 < xk }, k = 0, 1, . . . , n, queremos


encontrar um polin
omio p, de grau no maximo n, definido em
[x0 , xn ] tal que
p(xk ) = yk ,

http://goo.gl/BWyAn

Como j
a destacamos antes, interpolac
ao
e uma t
ecnica importante tamb
em para a resoluc
ao
de subproblemas de outros m
etodos.

Ricardo Biloti

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

Interpolac
ao

Nestas condic
oes, se n + 1 for a quantidade de pontos de interpolac
ao, veremos que sempre

e possvel encontrar um polin


omio interpolador de grau n. Demonstramos isto de forma
construtiva a seguir.

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Formulacao canonica

Quando escrevemos o polin


omio interpolador na forma can
onica, o problema de interpolac
ao
recai na resoluc
ao de um sistema linear, cuja matriz de coeficientes
e conhecida como Matriz
de Vandermond.
Saber se o problema de interpolac
ao admite soluc
ao, passa a ser uma quest
ao de analisar
se o sistema linear obtido admite soluc
ao. Da mesma forma, a unicidade pode ser estudada
atrav
es da unicidade de soluc
ao para o sistema linear.
Entretanto, vamos reformular o problema e abordar estas duas quest
oes de uma forma mais
simples e construtiva.

{1, x, x 2 , . . . , x n }
p(x) = a0 + a1 x + + an x n

1 x0 x02
1 x1 x12
.. ..
..
. .
.
1 xn xn2

x0n
x1n
..
.
xnn

a0
a1
..
.

an

y0
y1
..
.

yn

Matriz de Vandermond
http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Splines

Formulacao alternativa

A vantagem em fazer isso


e que podemos escolher os polin
omios `k (x) de maneira que o
sistema linear fique simples de ser resolvido.

{`0 (x), `1 (x), `2 (x), . . . , `n (x)}


p(x) = a0 `0 (x) + a1 `1 (x) + + an `n (x)

`0 (x0 ) `1 (x0 ) `2 (x0 )


`0 (x1 ) `1 (x1 ) `2 (x1 )
..
..
..
.
.
.
`0 (xn ) `1 (xn ) `2 (xn )

`n (x0 )
`n (x1 )
..
.

`n (xn )

a0
a1
..
.

Ricardo Biloti

Interpolac
ao

an

Ainda temos que resolver um sistema linear...


http://goo.gl/BWyAn

Ao inv
es de escrever o polin
omio interpolador como combinac
ao linear dos mon
omios 1, x,
x 2 , . . ., x n , podemos escrever o polin
omio como combinac
ao linear de (n + 1) polin
omios de
grau n, `0 (x), `1 (x), . . ., `n (x).

y0
y1
..
.
yn

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Lagrange escolheu os polin


omios `k de maneira que o sistema ficasse trivial, ou seja, de
maneira que a matriz do sistema linear fosse a identidade.

Splines

Em virtude das duas propriedades chave, o problema de interpolac


ao quando formulado em
termos dos polin
omios de Lagrange
e facilmente resolvido.

Poliomios de Lagrange

L=

`0 (x0 ) `1 (x0 ) `2 (x0 )


`0 (x1 ) `1 (x1 ) `2 (x1 )
..
..
..
.
.
.
`0 (xn ) `1 (xn ) `2 (xn )

Se


`j (xi ) =

1,
0,

`n (x0 )
`n (x1 )
..
.

`n (xn )

i =j
i 6= j

entao L = I e o sistema linear tem solucao trivial.

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Suponha que o polin


omio interpolador
e escrito como combinac
ao linear dos polin
omios de
Lagrange associados aos n
os de interpolac
ao.

Interpolacao na forma de Lagrange

Impondo a condic
ao de interpolac
ao p(x) = yi , temos que

`j sao polinomios de grau n que satisfazem


`j (xj ) = 1

`j (xi ) = 0,

p(xi ) = a0 `0 (xi ) + a1 `1 (xi ) + + an `n (xi )

j 6= i.

= a0 0 + a1 0 + + ai 1 + + an 0
= ai

p(x) = a0 `0 (x) + a1 `1 (x) + + an `n (x)


p(xi ) = yi

ai = yi

p(x) = y0 `0 (x) + y1 `1 (x) + + yn `n (x)

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Logo ai = yi . Desta forma, construmos o polin


omio interpolador explicitamente e por
conseguinte, acabamos de mostrar a exist
encia do polin
omio interpolador.
A unicidade do polin
omio interpolador de grau no m
aximo n pode ser demonstrada utilizando

o Teorema Fundamental da Algebra,


como se segue.
Suponha que dois polin
omios p e q, ambos de grau no m
aximo n interpolem os mesmos
dados. Sendo assim, r (x) = p(x) q(x), define tamb
em um polin
omio de grau no m
aximo
n, com pelo menos (n + 1) zeros, localizados nos n
os de interpolac
ao. Por
em o Teorema

Fundamental da Algebra
afirma que o u
nico polin
omio de grau no m
aximo n com (n + 1)
zeros distintos
e o polin
omio identicamente nulo. Sendo assim p = q.

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Exemplo: polinomios de grau 4

A figura exibe cinco polin


omios de grau 4. Observe o que ocorre nos pontos 2, 1, 0, 1, 2.
Em cada um desses pontos, 4 dos 5 polin
omios se anulam, enquanto que apenas um deles
vale exatamente 1. Esses polin
omios s
ao conhecidos como Polin
omios de Lagrange.
Vamos nomear esses cinco polin
omios por `4k , onde k = 0, 1, 2, 3, 4, da seguinte forma: `40
e
o polin
omio de grau 4 que vale 1 em 2, `41
e o polin
omio de grau 4 que vale 1 em 1, `42
e
o polin
omio de grau 4 que vale 1 em 0, e assim por diante.
O que aconteceria se represet
assemos um polin
omio de grau 4 como combinac
ao linear desses
cinco polin
omios exibidos?

-1

-2

-1

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Dado (n + 1) pontos distintos x0 , x1 , . . . , xn ,


(x x0 ) (x xj1 )(x xj+1 ) (x xn )
(xj x0 ) (xj xj1 )(xj xj+1 ) (xj xn )
`j (x) =

Y (x xk )
(xj xk )
k=0

k6=j

Waring, 1779

http://goo.gl/BWyAn

Associados a cada um dos pontos de interpolac


ao distintos, podemos exibir explicitamente a
express
ao dos polin
omios de Lagrange.
O polin
omio de grau n associado a xk ser
a `j . Perceba que `j
e formado pelo produto dos
mon
onios (x xj ), para j = 0, 1, . . . , n, exclundo-se j = k. Desta forma, vemos diretamente
que `j
e de fato um polin
omio de grau n.

Polinomios de Lagrange

`j (x) =

Splines

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Propriedade

Outro fato digno de nota


e que como `j
e o produto de fatores (x xk ) para k = 0, 1, . . . , n,
exclundo-se k = j, `j (xi ) = 0, se j 6= i.

`j (x) =

(x x0 ) (x xj1 )(x xj+1 ) (x xn )


(xj x0 ) (xj xj1 )(xj xj+1 ) (xj xn )
`j (xj ) = 1

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

`j (xi ) = 0,

j 6= i.

Interpolac
ao

Lagrange

An
alise de erro

Splines

Como temos tr
es pontos de interpolac
ao, estamos procurando por um polin
omio interpolador
de grau 2.
Utilizando os polin
omios de Lagrange, a soluc
ao do problema de interpolac
ao
e trivial.

Exemplo

Considere f (x) =

p(x) = f (1)

Perceba que o denominador


e exatamente o numerador de `j
e exatamente o numerador
avaliado em xj . Sendo assim, temos a primeira propriedade interessante dos polin
omios de
Lagrange: `j (xj ) = 1.

x e p o polin
omio interpolador em 1, 2 e 4

(x 1)(x 4)
(x 1)(x 2)
(x 2)(x 4)
+ f (2)
+ f (4)
(2 1)(2 4)
(4 1)(4 2)
(1 2)(1 4)

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

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Exemplo

Observe o gr
afico da func
ao x (curva tracejada) e o gr
afico do polin
omio interpolador
(curva s
olida). Observe que poderamos utilizar o polin
omio interpolador como uma boa
aproximac
ao para func
ao.
Como, neste caso, estamos interpolando pontos de uma func
ao conhecida, podemos
nos

perguntar tamb
em qual o erro de interpolac
ao, ou seja, se ao inv
es de computar x comput
assemos p(x), por quanto estaramos errando? Estudaremos esse problema a seguir.

1,5
f(x)
p(x)
1
1

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Exerccio

Interpole os pontos (3, 1), (3, 2) e (6, 10), construindo o


polinomio na forma de Lagrange.

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Splines

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Exerccio

Aproxime o valor de sin(1), utilizando um polinomio interpolador


de grau 2 e os valores tabelados abaixo. Calcule o erro cometido.
x

sin(x)

http://goo.gl/BWyAn

Introduc
ao

/4

/3

Ricardo Biloti

Interpolac
ao polinomial

2
2

3
2

/2
1

Interpolac
ao

Lagrange

An
alise de erro

Exerccio

Encontre o ponto de interseccao das duas funcoes tabeladas,


utilizando interpolacao quadratica.
x
0.000 0.600 1.200 1.800 2.400 3.000
f (x) 1.300 1.383 1.223 0.919 0.626 0.435
x
0.400 0.900 1.400 1.900 2.400 2.900
g (x) 0.615 0.810 1.079 1.425 1.786 1.993

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Splines

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Dificuldades

No exerccio anterior, onde foi pedido para aproximar o valor de sin(1), percebe-se que a
avaliac
ao do polin
omio interpolador na forma de Lagrange, quando feita de forma displicente
ou enfaseing
enua, torna-se cara, do ponto de vista da quantidade de operac
oes de ponto
flutuante realizadas.
Al
em disso, tamb
em
e comum encontrar em livros-texto de C
alculo Num
erico crticas `
a
forma de Lagrange, imputando a ela possveis problemas de overflow e underflow.
Entretanto, quando implementada de maneira criteriosa, tais problemas s
ao todos evit
aveis.

Cara de avaliar (O(n2 ))

overflow / underflow

Na verdade, estes nao sao problemas da interpolacao na


forma de Lagrange, mas sim do algoritmo ingenuo
utilizado para calcular a interpolacao de Lagrange.
Salzer, 1972

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Splines

A interpolac
ao Baric
entrica nada mais
e que um algoritmo eficiente e computacionalmente
adequado para a interpolac
ao de Lagrange.
O primeiro passo
e perceber que os fatores constantes que aparecem em cada polin
omio de
Lagrange podem ser todos pr
e-computados, de maneira a reduzir o custo computacional
durante a avaliac
ao do polin
omio interpolador.

Interpolacao Baricentrica de Lagrange

Depois, note tamb


em que todos os polin
omios de Lagrange diferente entre si apenas por um
u
nico mon
omio, uma das parcelas do produto que os definem.

`j (x) =

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


(xk x0 ) (xk xk1 )(xk xk+1 ) (xk xn )

Se
`(x) = (x x0 )(x x1 ) (x xn ),

wk = Q

j=0

j6=k

entao
`j (x) = `(x)

http://goo.gl/BWyAn

Ricardo Biloti

wk
x xk

Interpolac
ao

1
(xk xj )

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Utilizando os coeficientes wk e o polin


omio ` de grau (n + 1), o polin
omio interpolador pode
ser reescrito de forma muito compacta.

Splines

Quando o polin
omio
e reescrito na forma baric
entrica, todos os problemas alardados da
inerpolac
ao de Lagrange s
ao superados.

Interpolacao Baricentrica de Lagrange

p(x) = y0 `0 (x) + y1 `1 (x) + + yn `n (x)


= y0 `(x)

w0
w1
wn
+ y1 `(x)
+ + yn `(x)
x x0
x x1
x xn


w0
w1
wn
p(x) = `(x) y0
+ y1
+ + yn
x x0
x x1
x xn

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Caractersticas

p(x) = `(x)

n
X
k=0

yk

wk
,
x xk

wk = Qn

j=0

j6=k

wj nao depende de y0 , y1 , . . . , yn

Barata de calcular (O(n2 ))

Barata de avaliar (O(n))

Sem problemas de overflow ou underflow

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

1
(xk xj )

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Qualidade da interpolacao

Se estivermos interpolando uma tabela de ponto apenas, n


ao faz sentido perguntar qual o
erro de interpolac
ao, visto que o polin
omio interpolador, por construc
ao, honra exatamente
os pontos tabelados, e para outros pontos n
ao h
a qualquer informac
ao.
Por
em, quando interpolamos amostras de uma func
ao, podemos nos perguntar se o polin
omio
interpolador
e uma boa aproximac
ao para a func
ao, nos pontos que n
ao foram usados na
interpolac
ao.

Se interpolamos as amostras de uma funcao, quao boa sera a


aproximacao da funcao pelo polin
omio?

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Exemplo:

Interpolac
ao

Lagrange

An
alise de erro

Splines

1,5
f(x)
p(x)
1
1

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

No exemplo anterior, quando interpolamos a func


ao f (x) = x vimos que de fato o polin
omio
interpolador se aproxima muito bem da func
ao, no intervalo de interpolac
ao.

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Para investigar o erro de interpolac


ao, vamos fazer algumas hip
oteses sobre a func
ao
interpolada.
A intenc
ao
e estimar E (x), o erro num ponto x, que n
ao tenha sido utilizado na interpolac
ao.

Hipoteses

f tem (n + 1) derivadas contnuas

p tem grau no maximo n

p interpola f em {x0 , x1 , . . . , xn } [a, b]

Erro de interpolacao:
E (x) f (x) p(x)

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Splines

Toda func
ao polinomial, como p e w ,
e infinitamente diferenci
avel. Como f tem (n + 1)
derivadas contnuas e E (x) = f (x) p(x), ent
ao E tamb
em ter
a (n + 1) derivadas contnuas.
Com isso temos que g tem (n + 1) derivadas contnuas.

Funcao auxiliar

Observe ainda que g (z) = 0 para z {x0 , x1 , . . . , xn , x}. Ou seja, g tem pelo menos (n + 2)
zeros distintos.

Suponha que queremos analizar o erro em x (a, b), com x 6= xk .


Considere a funcao
g (z) E (x)(z) E (z)(x)
onde (z) (z x0 )(z x1 ) (z xn ).
I

Quantas derivadas contnuas g possui?

Quantos zeros a funcao g possui?

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Resultado de Calculo

Teorema do Valor M
edio
Seja f diferenci
avel em [a, b]. Ent
ao, existe c (a, b) tal que
f 0 (c) =

f (b) f (a)
.
ba

O Teorema de Rolle
e um caso particular do Teorema do Valor M
edio, quando f (a) = f (b).

f 0 (c)

=0

Com o Teorema de Rolle podemos garantir a exist


encia de pelo menos um zero da derivada
de uma func
ao, se conhecermos dois pontos onde a func
ao tem o mesmo valor.

f (a) = f (b)
a

Teorema de Rolle
Seja f diferenciavel em [a, b]. Se f (a) = f (b), entao existe
c (a, b) tal que f 0 (c) = 0.

http://goo.gl/BWyAn

Ricardo Biloti

Introduc
ao

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Analise de g

Splines

J
a sabemos que g tem pelo menos (n + 2) zeros. Pelo Teorema de Rolle, g 0 ter
a pelo menos
(n + 1) zeros. Novamente, pelo Teorema de Rolle, agora aplicado a g 0 , podemos assegurar
que g 00 ter
a pelo menos n zeros.
Continuando com esse raciocnio, pode-se assegurar que g (n+1) ter
a pelo menos um zero,
digamos .
Como (x) = x n+1 + q(x), onde q
e um polin
omio de grau no m
aximo n, temos que
(n+1) = (n + 1)!. Al
em disso, p (n+1) 0 pois p
e polin
omio de grau menor que (n + 1).

Existe (a, b) tal que g (n+1) () = 0.


g (n+1) (z) = E (x) (n+1) (z) E (n+1) (z)(x)
= E (x)(n + 1)! f (n+1) (z)(x)
Para z = ,
E (x)(n + 1)! = f (n+1) ()(x)

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Portanto, na pr
atica, n
ao temos como avaliar o erro de interpolac
ao por esta f
ormula. Podemos por
em utiliz
a-la como um majorante para o erro de interpolac
ao.

Erro de interpolacao

E (x) = f (x) p(x) =

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

(x) = (x x0 )(x x1 ) (x xn )

(x) (a, b)

http://goo.gl/BWyAn

Introduc
ao

Observe que a f
ormula obtida para o erro de interpolac
ao
e exata, por
em depende de um
valor desconhecido. Al
em disso, depende de x tamb
em.

Ricardo Biloti

Interpolac
ao polinomial

x 6= xk

Interpolac
ao

Lagrange

An
alise de erro

Splines

Nesse caso, n = 2. Portanto


E (x) =

Exemplo

Logo
Emax

M3
max |(x)|.
6

Precisamos estimar ent


ao M3 e max |(x)|.

f (x) =

p polinomio interpolador em 1, 2 e 4

Qual o erro maximo?


Emax

000

f ()
M3

= max
(x)
max |(x)|,
3!
6

com M3 = max1x4 |f 000 (x)| e (x) = (x 1)(x 2)(x 4)

http://goo.gl/BWyAn

f 000 ()
(x).
3!

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Com efeito, f 000 (x) = 38 1 5 . Como essa func


ao
e decrescente, seu m
aximo
e assumido no
x
extremo esquerdo do intervalo, ou seja, para x = 1. Logo M3 = 3/8.
Para encontrar o m
aximo de |(x)|, impomos a condic
ao de que 0 (x) = 0. Dois pontos
satisfazem essa condic
ao:

7 7
.
x1,2 =
3

Exemplo

Ambos os pontos est


ao dentro do intervalo de interesse, mas |(x2 )| > |(x1 )|. N
ao
e
necess
ario verificar se o m
aximo de |(x)| est
a nos extremos do intervalo pois, por construc
ao,
a func
ao se anula nos extremos.

3
3 1
M3 = max = ,
8 x5
8

!

7 + 7

max |(x)| =
= 2.1126


3
Portanto
|E (x)|

http://goo.gl/BWyAn

Introduc
ao

3/8 2.1126
= 0.13204,
3!

Ricardo Biloti

Interpolac
ao polinomial

para todo x [1, 4]

Interpolac
ao

Lagrange

An
alise de erro

Splines

Resoluc
ao:
Da f
ormula de erro para interpolac
ao temos que:

Exerccio

000

f ()

M3
|E (115)| =
(115)
|(115)|,
3!
3!
3 5/2
3
x
= 105 .
8
8
Como (x) = (x 100)(x 121)(x 144), temos que (115) = 2610. Logo
onde M3 =

Com que grau de precisao podemos aproximar 115 usando


interpolacao quadratica sobre os pontos 100, 121 e 144?

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

max

100x144

|f 000 (x)| =

max

100x144

|E (115)|

3/8 105 2610


= 1.631 103 .
6

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Exerccio

x
1
2
3
4
5
6
7
f (x) 0.91 1.43 1.58 1.55 1.44 1.30 1.18

Obtenha uma aproximacao para o valor maximo de f usando


interpolacao quadratica.

Usando interpolacao aproxime a solucao de f (x) = 1.15.

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Reduzindo o erro

0,4

0,3

0,2

0,1

p1
0

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Splines

Suponha que uma func


ao foi interpolada apenas em dois pontos. Obviamente, nem sempre
essa interpolac
ao ser
a precisa o suficiente. O que fazer ent
ao?

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Reduzindo o erro

Podemos ver que a medida que mais pontos s


ao utilizados para interpolar a func
ao,
aparentemente, melhor o resultado fica. Observe por exemplo os polin
omios p2 , p3 e p4 , que
interpolam a func
ao em 3, 4 e 5 pontos igualmente espacados, respectivamente.
Claramente p4
e o polin
omio interpolador que mais se aproximou da func
ao original.
Ser
a que essa estrat
egia de acrescentar pontos `
a interpolac
ao vai continuar produzindo
polin
omios interpoladores de ordem mais alta que gradativamente se aproximar
ao da func
ao
interpolada?

0,4

p4
0,3

p3

0,2

0,1

p2
p1

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Fenomeno de Runge

Splines

Apesar de contra-intuitivo, n
ao h
a garantia de que o erro de interpolac
ao reduzir
a a
medida que mais pontos de interpolac
ao s
ao acrescentados. De fato, se usualmente o
erro de interpolac
ao aumenta a medida que o grau do polin
omio interpolador, em pontos
regularmente espacado, aumenta.
Esse fen
omeno
e conhecido como Fen
omeno de Runge.
Na figura podemos observar o polin
omio interpolador de grau 6 (interpola a func
ao em 7
pontos quadrados) e o polin
omio interpolador de grau 10 (interpola a func
ao em 11 pontos
circulos). Pela figura, fica claro que o erro m
aximo de interpolac
ao observado no polin
omio
de grau 10
e maior.

-4

-2

Pontos equidistante
Numa malha de pontos regularmente espacados, os polinomios
interpoladores em geral divergem, mesmo se f for analtica.
http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Fenomeno de Runge

Entretanto,
e possvel garantir que o polin
omio interpolador de fato convirja `
a func
ao, a
medida que mais pontos s
ao utilizados na interpolac
ao, desde que os pontos de interpolac
ao
sejam cuidadosamente escolhidos.
Na figura, para efeito de comparac
ao, observamos a interpolac
ao em 11 pontos igualmente
espacados (com erro grande), e mais duas interpolac
oes, com 11 pontos e com 15 pontos,
criteriosamente escolhidos. Na interpolac
ao com 15 pontos j
a fica difcil distinguir visualmente a func
ao original do polin
omio interpolador.
Esses pontos m
agicos, que garantem a converg
encia do polin
omio interpolador, s
ao os zeros
de polin
omios especiais, os polin
omios de Chebyshev.

Em resumo, se a interpolac
ao fosse feitas nos pontos de Chebyshev seria possvel garantir
que o erro reduziria a medida que mais pontos fossem utilizados.
A dificuldade em espacar do Fen
omeno de Runge
e que em problemas pr
aticos, na maioria das
vezes, n
ao h
a como escolher quais s
ao os pontos de interpolac
ao. De fato,
e muito comum
que os pontos disponveis para interpolac
ao estejam igualmente distribudos.

-4

-2

Pontos adequados (Chebyshev)


Numa malha construda adequadamente, os polinomios
interpoladores convergem mesmo para func
oes Lipschitz contnuas.
http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Polinomios de grau 1

Splines

Neste exemplo, ao inv


es de tentar construir um u
nico polin
omio interpolador de grau 6, a
cada dois pontos foi construdo um polin
omio interpolador de grau 1. Desta forma, foram
utilizados todos os 7 pontos, por
em o grau do polin
omio interpolador permaneceu baixo,
evitando o Fen
omeno de Runge.
A func
ao de interpolac
ao n
ao
e mais um polin
omio mas sim uma func
ao definida de forma
diferente em cada subintervalo. Em cada um dele a func
ao
e um polin
omio de grau diferente.
Uma func
ao definida desta forma
e dita um polin
omio de grau 1 por partes.
Como a condic
ao de interpolac
ao em cada ponto
e satisfeita tanto para o segmento de reta
`
a esquerda e `
a direita de cada ponto, naturalmente a func
ao total
e contnua.

20

10

0
0

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Neste caso, os pontos foram tomados tr


es a tr
es, de maneira que foram construdos tr
es
polin
omios interpoladores, cada um de grau 2.
A func
ao iterpoladora
e um polin
omio interpolador de grau 2 por partes. Novamente, apenas
pela natural imposic
ao da condic
ao de interpolac
ao, a func
ao interpoladora
e contnua.

Polinomios de grau 2

Entretanto, tamb
em pode-se observar que um polin
omio interpolador por partes n
ao ser
a
diferenci
avel em cada ponto onde h
a a junc
ao entre dois polin
omios.

20

10

0
0

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

20

10

http://goo.gl/BWyAn

Por fim, tomando pontos de quatro em quatro, foram construdos dois polin
omios interpoladores, cada um de grau 3.
Apesar de n
ao ser visualmente evidente na figura, a func
ao n
ao
e diferenci
avel em x = 3,
onde os dois polin
omios de grau tr
es s
ao colados.

Polinomios de grau 3

Splines

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Na interpolac
ao por partes o conjunto de pontos de interpolac
ao deve ser fracionado em
porc
oes menores. Dependendo do grau do polin
omio interpolador de interesse.

An
alise de erro

Splines

Por exemplo, suponha que se deseje interpolar por polin


omios de grau no m
aximo 2. Ent
ao
os pontos devem ser tomados tr
es a tr
es.

Interpolacao por partes

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

Sejam os pontos de interpolac


ao originais (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ), ordenados de modo
que xk > xj se k > j. O intervalo de interpolac
ao I = [x0 , xn ], pode ent
ao ser escrito como
I = I0 I1 Im (como na figura).

Interpolacao por partes

I0

http://goo.gl/BWyAn

I1

Ricardo Biloti

I2

Interpolac
ao

I3

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Desta forma precisamos resolver m problemas de interpolac


ao, um para cada subintervalo.
Digamos que pj
e o polin
omio interpolador no intervalo Ij .

An
alise de erro

Splines

O grau de cada polin


omio interpolador depende de quantos pontos de interpolac
ao h
a em
cada subintervalo Ik . Se todos os polin
omios tiverem o mesmo grau, digamos q, diremos que
a func
ao s
e um polin
omio por partes de grau q.

Interpolacao por partes

I0

http://goo.gl/BWyAn

Introduc
ao

I1

I2

Ricardo Biloti

Interpolac
ao polinomial

I3

Interpolac
ao

Lagrange

Polinomio interpolador por partes

A funcao interpoladora e definida como


s(x) = pk (x),

http://goo.gl/BWyAn

Ricardo Biloti

se x Ik

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

O erro m
aximo em cada subintervalo
e dado por
max |E (x)|

Erro de interpolacao

xIk

1
max |f 00 (x)| max |(x xk1 )(x xk )|
xIk
2 xIk

Verifique que maxxIk |(x xk1 )(x xk )| = 41 hk2 , onde hk = (xk xk1 ).
Como maxxIk |f 00 (x)| < M2 , temos que
Emax =

O erro de interpolacao e limitado pelo erro em cada subintervalo.


Para interpolacao linear por partes (splines lineares)

onde h = max hk .
Desta forma, perceba que ao acrescentar mais ponto, mesmo que regularmente espacados,

e possvel reduzir h e portanto reduzir o erro m


aximo, preservando o grau do polin
omio
interpolador.

M2 h 2
|E (x)|
8
onde h = max |xk xk1 |.

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

Splines lineares

http://goo.gl/BWyAn

M2 h2
,
8

An
alise de erro

Splines

Temos a tend
encia a achar que o resultado da interpolac
ao linear por partes
e muito
grosseiro, mas na verdade o resultado anterior garante que ele pode ser t
ao bom quanto se
queira, desde que pontos suficientes sejam utilizados.
De fato, praticamente todos os gr
aficos de func
ao exibidos no computador tem apenas a
impress
ao de serem curvos, mas s
ao na verdade lineares por partes com uma quantidade
grande de pontos.

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Exemplo

Em quantos pontos regularmente amostrados em [0, 2] devemos


tabelar a funcao f (x) = (2x + 1)/(x 3) de maneira a garantir um
erro inferior a 104 com splines lineares?


14
00
= 14
M2 = max |f (x)| = max
[0,2]
[0,2] (x 3)3
Logo,
|E (x)|
Portanto h

http://goo.gl/BWyAn

Introduc
ao

2 7
2
7 10 ,

14h2
7
= h2 104
8
4

como h = 2/n, n 265

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Exerccio

Splines

Em primeiro lugar, observe que para conhecer a func


ao cosseno, basta conhece-la no
intervalo [0, /2]. Para computar cosseno em qualquer outro intervalo basta utilizar relac
oes
trigonom
etricas para retornar ao problema de computar cosseno neste intervalo.
Como E < 18 M2 h2 , e M2 = max |(cos(x))00 | = 1, temos que

h2
104 h 2 102 2.
8
Como h =

Em quantos pontos e necessario tabelar a funcao cosseno


para que a sua aproximacao por splines lineares tenha sempre
erro inferior `a 104 ?

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

/2
,
n

ent
ao n

2 2
10 55.5, ou seja s
ao necess
arios pelo menos 57 pontos.
8

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Resumo

possvel construir uma funcao que interpole uma grande


E
quantidade de pontos, sem incorrer no Fenomeno de Runge,
desde que trabalhando por partes.

Porem, a funcao interpolante nao sera diferenciavel nos


pontos de contato entre intervalos adjacentes.

E se realmente precisarmos de uma funcao interpolante


diferenciavel?

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Splines cubicos

Dado um conjunto de pontos x0 < x1 < < xn , uma spline


c
ubica e uma funcao s satisfazendo
I

s C2

s|[xk1 ,xk ] P3 ([xk1 , xk ])

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Splines

Splines c
ubicos s
ao polin
omios de grau 3 por partes com a condic
ao adicional de terem pelo
menos duas derivadas contnuas.

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Na interpolac
ao por splines c
ubicos, um polin
omio de grau 3
e utilizado a cada dois pontos,
e n
ao a cada 4 pontos, como no caso da interpolac
ao polinomial de grau tr
es por partes.
Mas como apenas as duas condico
es de interpolac
ao n
ao s
ao suficientes para determinar
os 4 coeficientes do polin
omio c
ubico, os dois graus de liberdade restantes s
ao justamente
utilizados para impor a restric
ao de suavidade.

Splines

Essa
e a spline c
ubica interpolante para os mesmos pontos dos exemplos anteriores.

Spline cubico interpolante

Dado um conjunto de pontos {(xk , yk ) | xk1 < xk },


k = 0, 1, . . . , n, uma spline c
ubica interpolante e uma funcao s
satisfazendo
I

s C2

s|[xk1 ,xk ] P3 ([xk1 , xk ])

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

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

An
alise de erro

Spline cubico

20

10

0
0

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

Polinomios de grau 3

20

10

0
0

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

Spline A regua

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

An
alise de erro

Splines

Para efeito de comparac


ao, esta
e novamente a interpolac
ao polinomial de grau 3 por partes.

Introduc
ao

Interpolac
ao polinomial

Lagrange

An
alise de erro

Splines

An
alise de erro

Splines

Spline A regua

http://goo.gl/BWyAn

Introduc
ao

Ricardo Biloti

Interpolac
ao polinomial

Interpolac
ao

Lagrange

Spline Boeing

http://goo.gl/BWyAn

Ricardo Biloti

Interpolac
ao

Você também pode gostar