Interpolacao[

22

Transcript of Interpolacao[

Page 1: Interpolacao[

1

Universidade Estadual do Sudoeste da Bahia

Departamento de Ciências Exatas e Tecnológicas

Algumas Técnicas de Interpolação

Eraldo Marques Carlos Pereira

Paulo Robis Santos Silva

Vitória da Conquista-BA

2013

Page 2: Interpolacao[

Sumário

Sumário 2

1 Técnica de Interpolação Polinomial de Lagrange. 3

1.1 Implementação da interpolação polinomial de Lagrange . . . . . . . . . . . . . . . . . 6

1.1.1 Programa em fortran-90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Interpolação por meio de Splines 13

2.1 Algumas definições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.1 Bases locais para splines lineares. . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Diferenças Divididas 17

3.1 DDF é uma relação recursiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2 Fórmula de Newton para o pilinômio interpolador . . . . . . . . . . . . . . . . . . . . 19

4 Considerações Finais 21

Referências Bibliográficas 22

2

Page 3: Interpolacao[

Capítulo 1

Técnica de Interpolação Polinomial de

Lagrange.

Faremos neste primeiro apêndice um breve estudo de um método numérico que nos forneça um

meio de encontrar um polinômio que passe por 𝑛 + 1 pontos conhecidos que aqui denotaremos por

(𝑥0,𝑦0), (𝑥1,𝑦1), . . . , (𝑥𝑛, 𝑦𝑛) em que 𝑥0 = 𝑥1 = · · · = 𝑥𝑛. Definamos inicialmente um intervalo

[𝑎,𝑏] ⊂ R e uma função 𝑓 : [𝑎,𝑏] → R. Basicamente, o processo de interpolação pode ser entendido

como sendo o ato de avaliar a função 𝑓(𝑥), ∀𝑥 ∈ [𝑎,𝑏], quando faz-se substituição da função 𝑓(𝑥)

dada por uma Função Interpoladora 𝑝(𝑥) de modo que

𝑝(𝑥𝑖) = 𝑓(𝑥𝑖), ∀𝑖 = 0, . . . , 𝑛. (1.1)

Por essa forma, sabemos os valores que a função 𝑓 assume nos pontos cujas as abscissas 𝑥0, . . . , 𝑥𝑛 ∈[𝑎,𝑏]. Para entendermos melhor o funcionamento do processo de aproximação nesse contexto, vamos

inicialmente determinar um polinômio de grau 1, que passa pelos pontos distintos (𝑥0,𝑦0) e (𝑥1,𝑦1).

De saída, já sabemos que 𝑓(𝑥0) = 𝑦0 e que 𝑓(𝑥1) = 𝑦1. Definimos os Polinômios Interpoladores

como segue

𝐿0(𝑥) =𝑥− 𝑥1

𝑥0 − 𝑥1

e 𝐿1(𝑥) =𝑥− 𝑥0

𝑥1 − 𝑥𝑜

(1.2)

Agora, avaliemos o que acontece na definição acima ao atribuirmos valores tais que 𝑥 = 𝑥0, 𝑥1:

𝐿0(𝑥0) =𝑥0 − 𝑥1

𝑥0 − 𝑥1

= 1, 𝐿0(𝑥1) =𝑥1 − 𝑥1

𝑥0 − 𝑥1

= 0, 𝐿1(𝑥0) =𝑥0 − 𝑥0

𝑥1 − 𝑥𝑜

= 0 e 𝐿1(𝑥1) =𝑥1 − 𝑥0

𝑥1 − 𝑥𝑜

= 1

Por conseguinte, vamos definir o seguinte polinômio

𝑃 (𝑥) = 𝐿0(𝑥)𝑓(𝑥0) + 𝐿1(𝑥)𝑓(𝑥1) =𝑥− 𝑥1

𝑥0 − 𝑥1

𝑓(𝑥0) +𝑥− 𝑥0

𝑥1 − 𝑥𝑜

𝑓(𝑥1). (1.3)

3

Page 4: Interpolacao[

4 CAPÍTULO 1. TÉCNICA DE INTERPOLAÇÃO POLINOMIAL DE LAGRANGE.

Essa ”combinação linear´´ de elementos construída acima nos fornece os seguintes resultados:

𝑃 (𝑥0) = 1.𝑓(𝑥0) + 0.𝑓(𝑥1) = 𝑓(𝑥0) = 𝑦0

e

𝑃 (𝑥1) = 0.𝑓(𝑥0) + 1.𝑓(𝑥1) = 𝑓(𝑥1) = 𝑦1

Por essa forma, podemos concluir que 𝑃 é única função linear passando pela curva de 𝑓 nos pon-

tos (𝑥0,𝑓(𝑥0)), (𝑥1,𝑓(𝑥1)) como exibimos abaixo na figura Fig.(1.1). Essa interpolação linear que

y = f(x)

x

y

x0 x1

y = f(x1)

y = f(x0)

y = P (x)

→Figura 1.1: Interpolação linear de uma função 𝑓(𝑥) para um polinômio 𝑃 (𝑥) de grau 1 dado.

construímos acima pode ser generalizada para polinômios de grau 𝑛 arbitrário que passam por 𝑛+ 1

pontos da função 𝑓 considerada como ilustra a Fig.(1.2). Nessa generalização devemos construir,

para cada 𝑘 = 0, 1, . . . , 𝑛, um polinômio de grau 𝑛, que denotaremos por 𝐿𝑛,𝑘(𝑥) que as seguintes

propriedades:

𝐿𝑛,𝑘(𝑥𝑖) = 0 se 𝑖 = 𝑘

e

𝐿𝑛,𝑘(𝑥𝑖) = 1 se 𝑖 = 𝑘

Agora, é importante analisarmos que, para que 𝐿𝑛,𝑘(𝑥𝑖) = 0 para cada 𝑖 = 𝑘, o numerador da

expressão a qual estamos construindo deve ser da forma

(𝑥− 𝑥0)(𝑥− 𝑥1) . . . (𝑥− 𝑥𝑘−1)(𝑥− 𝑥𝑘+1) . . . (𝑥− 𝑥𝑛),

Page 5: Interpolacao[

5

y = f(x)

x

y

x0

y = P (x)

→xn

Figura 1.2: Interpolação linear de uma função 𝑓(𝑥) para um polinômio 𝑃 (𝑥) de grau 𝑛− 1 dado.

sendo que para 𝐿𝑛,𝑘(𝑥𝑘) = 1, o denominador de 𝐿𝑛,𝑘(𝑥) deve conter 𝑥 = 𝑥𝑘 e ser da forma

(𝑥𝑘 − 𝑥0) . . . (𝑥𝑘 − 𝑥𝑘−1)(𝑥𝑘 − 𝑥𝑘+1) . . . (𝑥𝑘 − 𝑥𝑛)

. Assim,

𝐿𝑛,𝑘(𝑥) =(𝑥− 𝑥0)(𝑥− 𝑥1) . . . (𝑥− 𝑥𝑘−1)(𝑥− 𝑥𝑘+1) . . . (𝑥− 𝑥𝑛)

(𝑥𝑘 − 𝑥0) . . . (𝑥𝑘 − 𝑥𝑘−1)(𝑥𝑘 − 𝑥𝑘+1) . . . (𝑥𝑘 − 𝑥𝑛). (1.4)

Estamos nas condições de enunciar o seguinte teorema para fundamentarmos as ideias expostas

anteriormente em bases sólidas:

Teorema 1 Seja 𝑓(𝑥) uma função cujos valores conhecemos nos pontos 𝑥0, . . . ,𝑥𝑛. Existe um único

polinômio 𝑃 (𝑥) de grau menor ou igual a 𝑛 tal que

𝑝(𝑥𝑖) = 𝑓(𝑥𝑖), para 𝑖 = 0, . . . , 𝑛

Prova.

Considere inicialmente o polinômio

𝑃 (𝑥) = 𝑓(𝑥0)𝐿𝑛,0 + 𝑓(𝑥1)𝐿𝑛,1 + · · · + 𝑓(𝑥𝑛)𝐿𝑛,𝑛 =𝑛∑

𝑘=0

𝑓(𝑥𝑘)𝐿𝑛,𝑘 (1.5)

onde 𝐿𝑛,𝑘 =∏𝑛

𝑖=0,𝑖 =𝑘

(𝑥− 𝑥𝑖)

(𝑥𝑘 − 𝑥𝑖)Suponhamos que existam dois polinômios interpoladores 𝑃1(𝑥) e 𝑃2(𝑥). De Eq.(1.5) temos que

tomando

𝑃 (𝑥) = 𝑃1(𝑥) − 𝑃2(𝑥).

Page 6: Interpolacao[

6 CAPÍTULO 1. TÉCNICA DE INTERPOLAÇÃO POLINOMIAL DE LAGRANGE.

Como 𝑃 (𝑥) se anula em 𝑛 + 1 pontos distintos, decorre que

𝑃1(𝑥) − 𝑃2(𝑥) = 0.

Donde segue a unicidade.

O teorema que segue nos dá uma estimativa do erro do polinômio interpolador.

Teorema 2 Considere [𝑎,𝑏] um intervalo que contém os pontos 𝑥0, 𝑥1, . . . , 𝑥𝑛, 𝑥𝑖 = 𝑥𝑗 e 𝑓(𝑥) uma

função com (𝑛 + 1) derivadas contínuas em [𝑎,𝑏]. O erro do polinômio interpolador de 𝑓(𝑥) nos

pontos 𝑥0, 𝑥1, . . . , 𝑥𝑛 é, no ponto 𝑥 ∈ [𝑎,𝑏], dado por:

𝑒(𝑥) = 𝑓(𝑥) − 𝑝𝑛(𝑥) =𝑓 (𝑛+1)(𝛼)

(𝑛 + 1)![(𝑥− 𝑥0)(𝑥− 𝑥1) . . . (𝑥− 𝑥𝑛)],

onde a derivado de ordem 𝑛 + 1 é calculada num ponto 𝛼 ∈ [𝑎,𝑏].

Pelo que foi posto, é patente que a intuição nos leva a crer que quanto maior o número de pontos na

interpolação implicaria em uma melhor aproximação. É importante mencionar que tal pensamento

é enganoso como se pode verificar em [2, 3].

1.1 Implementação da interpolação polinomial de Lagrange

Nesta seção apresentamos um código escrito em fortran 90. O mesmo foi desenvolvido conforme

a teoria apresentada em [3]. Fizemos o benchmark da seguintefunção real:

1

1 + 𝑥2, (1.6)

cujo gráfico é apresentado na Fig(1.3). Ao aplicarmos a interpolação polinomial lagrangiana, traba-

lhamos com polinômios interpoladores de grau zero até grau 4.

Page 7: Interpolacao[

1.1. IMPLEMENTAÇÃO DA INTERPOLAÇÃO POLINOMIAL DE LAGRANGE 7

-0.5

0

0.5

1

1.5

-10 -5 0 5 10

"printLagrange.dat" using 2:3

Figura 1.3: Gráfico da função 𝑓(𝑥).

-0.5

0

0.5

1

1.5

-10 -5 0 5 10

"printLagrange.dat" using 2:3"printLagrange.dat" using 2:4

Figura 1.4: Gráfico da função 𝑓(𝑥) com o polinômio interpolador de primeiro grau 𝑙1(𝑥), presente noprograma.

Page 8: Interpolacao[

8 CAPÍTULO 1. TÉCNICA DE INTERPOLAÇÃO POLINOMIAL DE LAGRANGE.

-0.5

0

0.5

1

1.5

-10 -5 0 5 10

"printLagrange.dat" using 2:3"printLagrange.dat" using 2:6

Figura 1.5: Gráfico da função 𝑓(𝑥) com o polinômio interpolador de segundo grau 𝑙2(𝑥), presente noprograma.

-0.5

0

0.5

1

1.5

-10 -5 0 5 10

"printLagrange.dat" using 2:3"printLagrange.dat" using 2:5

Figura 1.6: Gráfico da função 𝑓(𝑥) com o polinômio interpolador de terceiro grau 𝑙3(𝑥), presente noprograma.

Page 9: Interpolacao[

1.1. IMPLEMENTAÇÃO DA INTERPOLAÇÃO POLINOMIAL DE LAGRANGE 9

-0.5

0

0.5

1

1.5

-10 -5 0 5 10

"printLagrange.dat" using 2:3"printLagrange.dat" using 2:7

Figura 1.7: Gráfico da função 𝑓(𝑥) com o polinômio interpolador de quarto grau 𝑙4(𝑥), presente noprograma.

-0.5

0

0.5

1

1.5

-10 -5 0 5 10

"printLagrange.dat" using 2:3"printLagrange.dat" using 2:4"printLagrange.dat" using 2:5"printLagrange.dat" using 2:6"printLagrange.dat" using 2:7

Figura 1.8: No mesmo plano, plotamos o gráfico da função 𝑓(𝑥) e todos os polinômio interpoladoresvistos anteriormente.

Page 10: Interpolacao[

10 CAPÍTULO 1. TÉCNICA DE INTERPOLAÇÃO POLINOMIAL DE LAGRANGE.

1.1.1 Programa em fortran-90

Segue abaixo o código do programa em fortran que implementamos. Com o mesmo foi possível ge-

rar os dados necessários para a plotagem dos gráficos. *******************************************

******************************************* * * Implementação do método lagrangiano. *

* ******************************************* program lagrange

real*8 a, b, D, h

integer i, p

character *30 line !defina coisas que vai usar apenas!

open ( 100,file = "print.dat")

data line / "(1x,49(’-’))"/ write(*,*) "Digite o extremo inferior do intervalo:"

read(*,*) a

write(*,*) "Digite o extremo superior do intervalo:"

read(*,*) b

write(*,*) "Digite a quentidade de subintervalos: "

read(*,*) p

D = (b-a)/p

h=a

do i= 1, p

write(100,*) i, h, fn(h), l1(h), l2(h), l3(h), l4(h)

h= h + D

end do

end

********************************* *********************************

function fn(x)

real*8 x

f=1.d0/(1.d0+x**2.d0) return

end function fn

******************************** ********************************

function l1(x)

implicit real*8 (a-h,o-z)

p1= 0.0099009d0*((x+10.d0)/20.d0

+

Page 11: Interpolacao[

1.1. IMPLEMENTAÇÃO DA INTERPOLAÇÃO POLINOMIAL DE LAGRANGE 11

(x-10.d0)/(-20.d0))

return

end function l1

********************************* *********************************

function l2(x)

implicit real*8 (a-h,o-z)

p2= 0.0099009d0*(x**2.d0-10.d0*x)/(200.d0)

+ (x**2.0-100.d0)/(-100.d0)

+ 0.0099009d0*(x**2.d0+10.d0*x)/(200.d0)

return

end function l2

********************************* *********************************

function l3(x)

implicit real *8 (a-h,o-z)

p3 = 0.0099009d0*(x+5.d0)*(x-5.d0)*(x-10.d0)/(-1500.d0)

+

0.038461538d0*(x+10.d0)*(x-5.d0)*(x-10.d0)/(750.d0)

+

0.038461538d0*(x+10.d0)*(x+5.d0)*(x-10.d0)/(-750.d0)

+

0.0099009d0*(x+10.d0)*(x+5.d0)*(x-5.d0)/(1500.d0)

return

end function l3

********************************* *********************************

function l4(x)

implicit real*8 (a-h,o-z)

p4 = 0.0099009d0*(x+5.d0)*x*(x-5.d0)*(x-10.d0)/(15000.d0)

+

0.038461538d0*(x+10.d0)*x*(x-5.d0)*(x-10.d0)/(-3750.d0)

+

(x+10.d0)*(x+5.d0)*(x-5.d0)*(x-10.d0)/(2500.d0)

+

0.038461538d0*(x+10.d0)*(x+5.d0)*x*(x-10.d0)/(-3750.d0)

+

0.0099009d0*(x+10.d0)*(x+5.d0)*(x-10.d0)*(x-5.d0)/(15000.d0)

Page 12: Interpolacao[

12 CAPÍTULO 1. TÉCNICA DE INTERPOLAÇÃO POLINOMIAL DE LAGRANGE.

return

end function l4

Page 13: Interpolacao[

Capítulo 2

Interpolação por meio de Splines

O uso de funções contínuas por partes remontam ao início do século XX, tendo sido usadas por

autores como Leonard Euler (1707-1783). Contudo, a formulação de splines que é utilizada atual-

mente tem suas raízes na década de quarenta, sendo devida a R. Courant e I. Shoenberg. É patente

que o método de splines, como veremos, aproxima uma função por polinômios resultando em uma

expressão que possui, entre outras, a propriedade de analiticidade: pode-se obter derivadas e inte-

grais dos polinômios. As referências nos mostram, também, que a interpolação por Splines, conforme

as referências que estudamos, apresenta desempenho satisfatório no que concerne à propriedades de

aproximação, convergência e estabilidade no que concerne aos erros de arredondamento.

2.1 Algumas definições

Por construção, as funções splines são contínuas por partes.

Definição 1 Seja 𝐼 = [𝑎,𝑏] um subconjunto da reta real. Uma partição Π do intervalo 𝐼 será definida

pelos pontos 𝑥0, 𝑥1, . . . , 𝑥𝑚, tais que,

∏: 𝑎 = 𝑥0 < 𝑥1 < 𝑥2 < · · · < 𝑥𝑚−1 < 𝑥𝑚 = 𝑏. (2.1)

Os splines são polinômios definidos em cada subintervalo (𝑥𝑖−1, 𝑥𝑖), 𝑖 = 1 : 𝑚, oriundos da partição

definida inicialmente. Dessa maneira, cada sobintervalo possui um “pedaço” desses polinômios que

são unidos de forma convenientes, de modo que a regularidade exigida do problema seja satisfeita.

Cada ponto 𝑥1 da partição também é chamado de nó. Percebemos que alguns conhecimentos de

Álgebra Linear são exigidos no estudo da interpolação polinomial por splines. De fato, o conjunto de

funções polinomiais, ou seja, o conjunto das funções splines de grau 𝑛, associadas à partição (2.1),

resultam em um espaço vetorial cuja dimensão depende de 𝑛 e do número de nós da da partição

considerada. As referências nos mostram que splines lineares associados à partição (2.1) com 𝑚

13

Page 14: Interpolacao[

14 CAPÍTULO 2. INTERPOLAÇÃO POR MEIO DE SPLINES

x

y

x0 x1

→x2 x3 x4

x

y

x0 x1

→x2 x3 x4

Figura 2.1: Exemplos de splines lineares (𝑛 = 1) e splines cúbicas (𝑛 = 3).

pontos formam um espaço vetorial de dimensão 𝑚+ 1. Agora, no caso de splines cúbicas associadas

a esta partição, o espaço vetorial teria dimensão 𝑚 + 3. Evocando uma das propriedades de espaços

vetoriais, considere {𝜑𝑖}𝑘𝑖=1 é uma base para o espaço vetorial de splines, então qualquer elemento

deste espaço vetorial pode ser escrito na forma

ℎ(𝑥) = 𝐶1𝜑𝑖(𝑥) + 𝐶2(𝑥)𝜑2(𝑥) + · · · + 𝐶𝑘(𝑥)𝜑𝑘(𝑥), (2.2)

donde 𝐶1, 𝐶2, . . . , 𝐶𝑘 são os coeficientes da combinação linear considerada e 𝑘 é a dimensão do espaço

vetorial. Splines que geram, em cada subintervalo da partição, sistemas esparsos quase sempre

resultam em melhores propriedades de estabilidade na sua solução numérica, mais detalhes em [4]. O

uso de splines geram espaços de dimensão finita que, em algum sentido, se aproximam de espaços de

problemas que tem dimensão infinita. De fato, vamos considerar um exemplo relativamente simples.

O conjunto das funções contínuas em [0,1], que é um espaço de funções de dimensão infinita, pode

ser interpolado pelo splines lineares associados à partição de [0,1], como ilustra a Fig.(2.2). O estudo

do sobre o erro de interpolação cometido com aproximações por splines pode ser encontrado em [4].

x

y

g(x)

Figura 2.2: Exemplo de interpolação por spline em [0,1].

Page 15: Interpolacao[

2.1. ALGUMAS DEFINIÇÕES 15

2.1.1 Bases locais para splines lineares.

Faremos aqui uma breve explanação sobre splines lineares. Uma apresentação mais aprofundada

pode ser encontrada na bibliografia espacializada também em relação a splines de ordem superior.

Com efeito, consideremos uma função𝑙𝑖(𝑥) definida em cada nó 𝑥𝑖 de uma partição, como feito

em (2.1),por

𝑁𝑖(𝑥) =

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩𝑥− 𝑥𝑖−1

𝑥𝑖 − 𝑥𝑖−1

, 𝑠𝑒 𝑥𝑖−1 ≤ 𝑥 ≤ 𝑥𝑖

𝑥𝑖+1 − 𝑥

𝑥𝑖+1 − 𝑥𝑖

, 𝑠𝑒 𝑥𝑖 ≤ 𝑥 ≤ 𝑥𝑖−1

0, 𝑠𝑒 𝑥 < 𝑥𝑖−1 𝑜𝑢 𝑥 > 𝑥𝑖+1

Por construção, o conjunto das funções 𝑁𝑖(𝑥), 𝑖 = 0 : 𝑚 constitui uma base para os splines

leneares que são polinômios de grau 𝑛 = 1 definidos em cada subintervalo da partição, de modo

que cada uma destas funções é não nula apenas em dois subintervalos vizinhos. Estas funções

também recebem o nome de “funções chapéu”. No que segue, temos que a função spline linear

x→1 2 30 4

x→1 2 30 4

x→1 2 30 4

N1(x)

N2(x)

N3(x)↑1

↑↓1

↑↓

1

Figura 2.3: Exemplo de funções 𝑁𝑖 sonre uma malha discretizada em 4 subintervalos.

interpolante de 𝑓(𝑥), em uma partição de nós 𝑥0, 𝑥1, . . . , 𝑥𝑛 pode ser construída em cada subintervalo

[𝑥𝑖−1, 𝑥𝑖], 𝑖 = 1,2, . . . , 𝑛 assim

𝑠𝑖(𝑥) = 𝑓(𝑥𝑖−1)𝑥𝑖 − 𝑥

𝑥𝑖 − 𝑥𝑖−1

+ 𝑓(𝑥𝑖)𝑥− 𝑥𝑖−1

𝑥𝑖 − 𝑥𝑖−1

, ∀ 𝑥 ∈ [𝑥𝑖−1, 𝑥𝑖] (2.3)

Vamos fixar as idéias com um exemplo ilustrativo.

Exemplo 1 Encontremos a spline linear que interpola a função da tabela seguinte

Page 16: Interpolacao[

16 CAPÍTULO 2. INTERPOLAÇÃO POR MEIO DE SPLINES

𝑥0 𝑥1 𝑥2 𝑥3

𝑥 1 2 5 7𝑓(𝑥) 1 2 3 2.5

Tabela 2.1: Tabela referente a um certo experimento realizado, adaptado de [3].

De acordo com a definição de interpolação por spline linear, temos que proceder da seguinte maneira

𝑠1(𝑥) = 𝑓(𝑥0) =𝑥1 − 𝑥

𝑥1 − 𝑥0

+ 𝑓(𝑥1)𝑥− 𝑥0

𝑥1 − 𝑥0

= 12 − 𝑥

2 − 1+ 2

𝑥− 1

2 − 1= 2 − 𝑥 + 2𝑥− 2 = 𝑥, 𝑥 ∈ [1,2];

𝑠2(𝑥) = 𝑓(𝑥1) =𝑥2 − 𝑥

𝑥2 − 𝑥1

+𝑓(𝑥2)𝑥− 𝑥1

𝑥2 − 𝑥1

= 25 − 𝑥

5 − 2+3

𝑥− 2

5 − 2=

2

3(5−𝑥)+𝑥−2 =

1

3(𝑥+4), 𝑥 ∈ [2,5];

e

𝑠3(𝑥) = 𝑓(𝑥2) =𝑥3 − 𝑥

𝑥3 − 𝑥2

+ 𝑓(𝑥3)𝑥− 𝑥2

𝑥3 − 𝑥2

= 37 − 𝑥

7 − 5+ 2.5

𝑥− 5

7 − 5=

1

2(−0.5𝑥 + 8.5), 𝑥 ∈ [5,7]

Page 17: Interpolacao[

Capítulo 3

Diferenças Divididas

Neste capítulo, dando continuidade ao estudo de interpolação de funções, faremos uma breve

introdução a um outro tópico que é conhecido por Diferenças Divididas Finitas(DDF). Para isto,

faz-se necessária a introdução de alguns conceitos básicos de cálculo, a saber, derivada.

Definição 2 Seja 𝑦𝑦 = 𝑓(𝑥) uma função que contém os pontos distintos (𝑥− 𝑖, 𝑦𝑖), 𝑖 = 0, 1,2, . . . , 𝑛.

A derivada primeira de função 𝑓(𝑥) em um ponto 𝑥0 é definida por:

𝑓 ′(𝑥0) = lim𝑥→𝑥0

𝑓(𝑥) − 𝑓(𝑥0)

𝑥− 𝑥0

(3.1)

No que segue, a diferença dividida de primeira ordem será definida em termos da derivada primeira,

ou melhor, como uma aproximação da derivada primeira:

𝑓 [𝑥,𝑥0] =𝑓(𝑥) − 𝑓(𝑥0)

𝑥− 𝑥0

. (3.2)

Em nossa pesquisa notamos que alguns autores adotam as seguintes notações para o operador de

diferenças divididas finitas:

𝑓 [ ], [ ] 𝑜𝑢 ∆𝑦.

Nessa linha, se tomarmos 𝑥 = 𝑥1 na equação Eq.(3.1), teremos a diferença dividida de primeira

ordem nos argumentos 𝑥0 e 𝑥1:

∆𝑦0 = 𝑓 [𝑥0,𝑥1] =𝑓(𝑥) − 𝑓(𝑥0)

𝑥− 𝑥0

,

Generalizando esta ideia, segue que a diferença dividida de primeira ordem pode ser definida por:

∆𝑦𝑖 = 𝑓 [𝑥𝑖, 𝑥𝑖+1] =𝑓(𝑥𝑖+1) − 𝑓(𝑥𝑖)

𝑥𝑖+1 − 𝑥𝑖

. (3.3)

17

Page 18: Interpolacao[

18 CAPÍTULO 3. DIFERENÇAS DIVIDIDAS

Tomando-se 𝑦𝑖 = 𝑓(𝑥𝑖), vem que a relação Eq.(3.3) pode ser reescrita assim

𝑦𝑖+1 − 𝑦𝑖𝑥𝑖+1 − 𝑥𝑖

. (3.4)

3.1 DDF é uma relação recursiva

Nesta seção segue um breve comentário sobre ordem e recursividade do operador de diferenças

divididas. Com efeito, operador de diferença dividida de ordem zero é definido por

∆0𝑦𝑖 = 𝑓 [𝑥𝑖] = 𝑓(𝑥− 𝑖) = 𝑦𝑖. (3.5)

donde segue que, consequentemente, o operador de diferença dividida de primeira ordem pode ser

reescrito em função da diferença dividida de ordem zero. De fato,

∆𝑦𝑖 =𝑓(𝑥𝑖+1) − 𝑓(𝑥𝑖)

𝑥𝑖+1 − 𝑥𝑖

=𝑓 [𝑥𝑖+1] − 𝑓 [𝑥𝑖]

𝑥𝑖+1 − 𝑥𝑖

=∆0𝑦𝑖+1 − ∆0𝑦𝑖

𝑥𝑖+1 − 𝑥𝑖

(3.6)

Generalizando, temos que a diferença dividida de ordem 𝑛 é dada por :

∆𝑛𝑦𝑖 =𝑓 [𝑥𝑖, 𝑥𝑖+1, . . . , 𝑥𝑖+𝑛]

=𝑓 [𝑥𝑖+1, 𝑥𝑖+2, . . . , 𝑥𝑖+𝑛] − 𝑓 [𝑥𝑖, 𝑥𝑖+1,, . . . , 𝑥𝑖+𝑛−1]

𝑥𝑖+𝑛 − 𝑥𝑖

=∆𝑛−1𝑦𝑖 − ∆𝑛−1𝑦𝑖+1

𝑥𝑖+𝑛 − 𝑥𝑖

(3.7)

Teorema 3 Se f(x) é uma função polinomial de grau 𝑛, que passa pelos pontos (𝑥0, 𝑦0), (𝑥1,𝑦1), . . . , (𝑥𝑘,𝑦𝑘), . . . , (𝑥𝑛,𝑦𝑛),

então a diferença dividida de ordem 𝑘, 𝑓 [𝑥, 𝑥𝑖, 𝑥𝑖+1, . . . , 𝑥𝑖+𝑘−1] é um polinômio de grau 𝑛− 𝑘.

Prova.

Vamos provas este teorema por indução sobre 𝑘. Com efeito, o teorema é verdadeiro para 𝑘 = 1 pois

pela diferença dividida de primeira ordem segue que

𝑓 [𝑥,𝑥𝑖] =𝑓(𝑥) − 𝑓(𝑥𝑖)

𝑥− 𝑥𝑖

𝑓(𝑥) = 𝑓(𝑥𝑖) + (𝑥− 𝑥𝑖)𝑓 [𝑥,𝑥𝑖]

Page 19: Interpolacao[

3.2. FÓRMULA DE NEWTON PARA O PILINÔMIO INTERPOLADOR 19

Dessa meneira, 𝑓 [𝑥,𝑥𝑖] é um polinômio de grau 𝑛− 1(𝑛− 𝑘), pois 𝑓(𝑥) é de grau 𝑛, donde (𝑥− 𝑥𝑖)

é de primeiro grau e 𝑓(𝑥𝑖) é constante. Com efeito, tomemos nossa hipótese de indução. Supondo

que o teorema seja válido para 𝑘 = 𝑝 − 1, ou seja, que a diferença dividida de ordem 𝑝 − 1, onde

𝑓 [𝑥, 𝑥𝑖, 𝑥𝑖+1, . . . , 𝑥𝑖+𝑝−2] é, por construção, um polinômio de grau 𝑛 − (𝑝 − 1). Vamos provar agora

que esta última afirmação é válida para 𝑘 = 𝑝. Sabemos que, por definição, a diferença dividida de

ordem 𝑝 é dada por

𝑓 [𝑥, 𝑥𝑖, . . . , 𝑥𝑖+𝑝−1]

=𝑓 [𝑥, 𝑥𝑖, 𝑥𝑖+1, . . . , 𝑥𝑖+𝑝−2] − 𝑓 [𝑥𝑖, 𝑥𝑖+1, . . . , 𝑥𝑖+𝑝−1]

𝑥𝑖 − 𝑥𝑖+𝑝−1

Devemos observar agora que 𝑓 [𝑥, 𝑥𝑖, 𝑥𝑖+1, . . . , 𝑥𝑖+𝑝−2] é uma constante, pois a variável independente

𝑥 não está presente; temos ainda que 𝑓 [𝑥,𝑥𝑖, . . . , 𝑥𝑖+𝑝−2] é de grau 𝑛 − (𝑝 − 1) pois se trata de uma

diferença dividida de ordem 𝑝− 1, da hipótese de indução, e (𝑥− 𝑥𝑖+𝑝−1) é de primeiro grau. Assim,

𝑓 [𝑥,𝑥𝑖, 𝑥𝑖+1, . . . , 𝑥𝑖+𝑝−1] é de grau n-p=n-k, como queríamos.

3.2 Fórmula de Newton para o pilinômio interpolador

Sejam (𝑥𝑖, 𝑦𝑖) 𝑛 + 1 pontos distintos, onde 𝑖 = 0,1,2, . . . ,𝑛. Seja 𝑃𝑛 o polinômio interpolador de

grau 𝑛 que conterá estes pontos. Pela definição de diferenças divididas temos que

𝑃 [𝑥, 𝑥0] =𝑃𝑛(𝑥) − 𝑃𝑛(𝑥0)

𝑥− 𝑥0

, (3.8)

que é um polinômio de grau ≤ 1. Das referências [2, 3] , temos que um polinômio interpolador, nesse

contexto, de grau ≤ 𝑛 pode ser escrito assim:

𝑃𝑛(𝑥) = 𝑦0 + (𝑥−𝑥0)∆𝑦0 + (𝑥−𝑥0)(𝑥−𝑥1)∆2𝑦0 + · · ·+ (𝑥−𝑥0)(𝑥−𝑥1) . . . (𝑥−𝑥𝑛−1)∆

𝑛𝑦0 = (3.9)

= 𝑦0 +𝑛∑

𝑖=1

∆𝑖𝑦0

𝑖−1∏𝑗=0

(𝑥− 𝑥𝑗)

A seguir, um exemplo adaptado de [3].

Exemplo 2 Determinar o valor aproximado de 𝑓(0.4), usando todos os pontos tabelados da fubção

𝑓(𝑥) abaixo.

Contrução da tabela de operações: Assim,

𝑃 (0.4) = 𝑦0 + 𝑃𝑟𝑜𝑑0∆𝑦0 + 𝑃𝑟𝑜𝑑1∆2𝑦0 + 𝑃𝑟𝑜𝑑2∆

3𝑦0 + 𝑃𝑟𝑜𝑑3∆4𝑦0 (3.10)

= 1,216.

Page 20: Interpolacao[

20 CAPÍTULO 3. DIFERENÇAS DIVIDIDAS

i 𝑥𝑖 𝑦𝑖0 0.0 1.0081 0.2 1.0642 0.3 1.1253 0.5 1.3434 0.6 1.512

Tabela 3.1: Tabela referente a um certo experimento realizado.

i 0 1 2 3𝐷𝑖𝑓𝑖 = (𝑥− 𝑥𝑖) 0.4 0.2 0.1 -0.1

𝑃𝑟𝑜𝑑𝑗 =∏𝑖

𝑗=0(𝑥− 𝑥𝑗) 0.4 0.08 0.008 -0.008

Salientamos aqui, que se um procedimento fosse feito pelo método de diferenças divididas, o custo

computacional seria consideravelmente maior em relação ao que fizemos agora com diferenças e

produtos, [2].

Page 21: Interpolacao[

Capítulo 4

Considerações Finais

Neste trabalho apresentamos uma breve explanação sobre as técnicas de interpolação de Lagrange,

Splines e Diferenças Divididas Finitas. Não tivemos pretensão em fazer um texto muito aprofundado,

até porque não poderíamos devido tempo limitado. Buscamos diferenciar o corpo do texto fazendo

as ilustrações no programa Ipe, donde pudemos elaborar todos os gráficos e diagramas. Outro

ponto que salientamos foi a implementação da interpolação polinomial de Lagrange, onde buscamos

conhecimentos de programação para a implementação e plotagem dos resultados gráficos. Esperamos

que estes feitos contribuam para criatividade e originalidade.

De fato temos muito em melhorar, mas ter conseguido concluir este pequeno compêndio, nos enco-

raja em seguir adiante. De fato escrever textos em linguagem matemática constituiu uma experiência

pioneira.

21

Page 22: Interpolacao[

Referências Bibliográficas

[1] BOYCE, Wiliam E., DIPRIMA, Richard C. Equações Diferenciais Elementares e Problemas

de Valores de Contorno. 8𝑎 edição. LTC. 2002

[2] CUNHA, M. C., Métodos Numéricos para as Engenharias e Ciências Aplicadas, Editora da

Unicamp, Campinas, segunda edição, 2000.

[3] RGGIERO, M. A. e LOPES, V. L. R. . Cálculo Numérico: aspectos teóricos e computacionais.

2 ed.São Paulo: Pearson Makron Books, 1996.

[4] SHULTZ, M., Spline Analysis. Prentice Hall Inc. 1973

[5] STEWART, James. Cálculo Vol. 2, 5𝑎 edição. Cenage Learning, 2005

22