Interpolacao[
-
Upload
juliano-deividy-b-santos -
Category
Documents
-
view
52 -
download
0
Transcript of 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
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
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
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) . . . (𝑥− 𝑥𝑛),
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(𝑥).
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.
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.
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.
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.
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
+
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)
12 CAPÍTULO 1. TÉCNICA DE INTERPOLAÇÃO POLINOMIAL DE LAGRANGE.
return
end function l4
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
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].
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
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]
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
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
𝑓 [𝑥,𝑥𝑖] =𝑓(𝑥) − 𝑓(𝑥𝑖)
𝑥− 𝑥𝑖
𝑓(𝑥) = 𝑓(𝑥𝑖) + (𝑥− 𝑥𝑖)𝑓 [𝑥,𝑥𝑖]
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.
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].
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
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