Departamento de Física Aplicada e Termodinâmica
Física Computacional A
DFAT/
FiscompFA
Interpolação e Diferenciação
Professor: Anibal Leonardo Pereira última atualização: fevereiro 2011
Estagiários:
2004/1 a 2005/2 Luciana Conceição Iecker Lima
2010/1 Magali dos Santos Leodato
2009/1 a 2010/2 Filipe da Fonseca Cordovil
Monitores:
2001/1 Diego Chagas Garcia
2002/2 Erick Azevedo Meirelles
2003/1 a 2003/2 Luciana Maria dos Santos Azevedo
2003/1 a 2003/2 Tatiana Gonçalves Martins
2003/1 a 2005/2 Renato Nascente Júnior
2004/1 a 2005/2 Públio Martins Romano M. Carreiro
2006/1 a 2007/2 Luiz Fernando Rosalba Telles Souza
2006/1 a 2007/2 Paulo Henrique Pfitzner
2008/1 a 2008/2 Filipe da Fonseca Cordovil
2008/1 a 2009/2 Magali dos Santos Leodato
2011/1 a Filipe da Fonseca Cordovil
1. Introdução
Interpolação diz respeito ao método capaz de gerar pontos intermediários em uma tabela de dados.
Diferenciação numérica é a avaliação da derivada de uma função, num dado ponto, usando os valores contidos
numa tabela, usando um polinômio interpolador ou então usando uma função.
2. Interpolação Polinomial
Quando se trabalha com dados experimentais, é comum a obtenção de uma função apenas em um conjunto de
pontos discretos, num dado intervalo
[
a , b
]
, (
os valores medidos) que geralmente, estão colocados numa tabela.
Dispor-se de uma função
y
=
f
x
sob forma de tabela é também um evento comum. Por isto a necessidade de
se obter valores para pontos que não estão em uma tabela é também um evento bastante usual.
Quando se deseja pontos que não estão numa tabela eles geralmente são obtidos pelo uso de uma função
interpoladora (
polinômio interpolador), quando o valor desejado está dentro do intervalo
[
a , b
]
e por um polinômio
extrapolador quando o valor desejado está fora do intervalo
[
a , b
]
definido pela tabela.
Desde Newton (
que usou muito) diferença finita é uma técnica bastante utilizada para trabalhar com funções
colocadas em tabelas porque:
•
esta técnica possibilita a obtenção de valores não existentes na tabela original
•possibilita o cálculo da derivada
•
cálculo da integral e
Uma função interpoladora (
função que gera valores intermediários numa tabela) é uma função que passa pelos
pontos nodais, isto é, pelos pontos existentes na tabela (também chamados de nós).
Existem técnicas para a obtenção de uma função interpoladora para o caso em que:
•
os nós (
pontos nodais) estão iguais espaçamento
•
e para o caso em que eles estão espaçados de forma desiguais
3. Diferenças Finitas
Com bastante frequência, o processo de obtenção de uma função interpoladora (
polinômio interpolador) faz uso de
diferenças finitas.
Diferenças finitas é um conceito que pode ser facilmente introduzido utilizando-se o conceito de derivada (
isto jáfoi destacado na folha de atividades: FiscompFA: Equações Algébricas e Transcendentais, mas será reapresentado aqui
).
A derivada de uma função (
uma curva) num ponto
x
1é
representada pela tangente à curva no ponto em questão. Por isto seu
cálculo pode ser feito usando-se a expressão
tanx=yx
.
Entretanto, como fica visível na figura, a hipotenusa do triângulo
retângulo gerado pelos pontos
x
1, y
1
e
x
2, y
2
, calculada
pela expressão
yxe a tangente à curva no ponto
x
1não são
idênticas quando o intervalo
x
é grande.
A expressão que leva ao valor correto da derivada é
dydx=limx0
y
x
.
Define-se
diferença finita
como sendo os deltas, ou seja: o
y
e o
x
.
Diferenças finitas podem ser: Aqui, usa-se a simbologia:
y
i=
f
x
i=
f
idiferenças finitas ascendentes ou
progressiva
f
i=
f
i1−
f
iO índice zero está colocado no início da tabela. Veja tabela ao lado
i
x
if
i
f
i0
1.00 1.00000
f
01
1.05 1.02470
f
12
1.10 1.04881
f
23
1.15 1.07238
–
diferenças finitas descendentes ou
regressiva
∇
f
i=
f
i−
f
i−1Observe que o índice na diferença finita regressiva inicia com zero, mas o zero está colocado no final da tabela, não no início
i
x
if
i∇
f
i-3
1.00
1.00000
–
-2
1.05
1.02470
∇
f
−2-1
1.10
1.04881
∇
f
−1diferenças finitas centradas ou
central
f
i=
f
i1 2
−
f
i−1 2
=
1
2
f
i1−
f
i−1
As diferenças finitas ascendentes de ordem mais elevadas são obtidas pela expressão:
kf
i=
k−1f
i1−k−1f
i.
As diferenças finitas ascendentes são calculadas assim:
0f
i=
f
i
diferença finita progressiva de ordem zero
f
i=
f
i1−
f
i
primeira ordem
2f
i=
f
i1−
f
i
segunda ordem
3f
i=
2f
i1−
2f
i
terceira ordem
⋮
⋮
kf
i=
k−1f
i1−
k−1f
i
késsima ordem
É usual coloca-se as diferenças finitas num quadro (ou tabela).
Tabela de diferenças finitas progressivas
i
x
i
0f
i
1f
i
2f
i
3f
i
4f
i
5f
i0
x
0y
0
f
0
2f
0
3f
0
4f
0
5f
01
x
1y
1
f
1
2f
1
3
f
1
4
f
12
x
2y
2
f
2
2f
2
3f
23
x
3y
3
f
3
2f
34
x
4y
4
f
45
x
5y
5Por exemplo, a tabela de diferenças finitas progressivas para a função
y
=
x
4, com x variando de 1 a 6, onde
o incremento em x é sempre o mesmo, é mostrado a seguir:
i
x
if
i0
1
1
1
2
16
2
3
81
3
4
256
4
5
625
5
6
1296
Observe que existem 6 pontos na tabela, e que o índice da tabela inicia sua contagem em zero, portanto existem n+1 pontos: 5+1=6.
As diferenças finitas, podem ser representadas assim:
índice 0:
0f
0
1f
0
2f
0
3f
0
4f
0⋯
índice 1:
0f
1
1f
1
2f
1
3f
1
4f
1⋯
índice 2:
0f
2
1f
2
2f
2
3f
2
4i
x
i
0f
i
1
f
i
2
f
i
3
f
i
4
f
i
5
f
i0
1
1
15
50
60
24
0
1
2
16
65
110
84
24
2
3
81
175
194
108
3
4
256
369
302
4
5
625
671
5
6
1296
Observou que
y
ie
0f
isão a mesma entidade, isto é,
y
i=
0f
i.
4. Interpolação Progressiva de Newton
O método de obtenção de um polinômio interpolador que utiliza as diferenças finitas ascendentes é chamado de
interpolação progressiva de Newton (
ou simplesmente de interpolação de Newton).
Admita que se disponha de um conjunto de (n+1) pontos
ordenados de forma crescente e igualmente
espaçados
.
Partindo destes dados (
como no exemplo da funçãoy
=
x
4) é possível construir uma tabela de diferenças finitas
progressiva.
Quando a coluna de diferenças finitas de ordem k se torna constante e a próxima coluna (
ordem k+1) se torna
zero, o polinômio interpolador será um polinômio de ordem k, isto é, pode-se criar um polinômio interpolador cujo
maior grau será igual a
k
:
P
k
x
. Por exemplo, num conjunto de (n+1) pontos ascendentes igualmente
espaçados, representados pelos dados:
x
i, y
i
, i
=
0,1 ,2 ,3
,
, n
quando k for igual a três, o polinômio interpolador de Newton será expresso pela equação:
P
3
x
=
b
0
b
1x
b
2x
2
b
3x
3ou
P
3
x
=
b
0
b
1
x
−
x
0
b
2
x
−
x
0
x
−
x
1
b
3
x
−
x
0
x
−
x
1
x
−
x
2
no intervalo
x
0, x
n
para o conjunto de dados fornecidos.
Porque o espaçamento entre os pontos nodais é sempre o mesmo, pode-se definir a constante
h
=
x
1−
x
0
que é chamada de
passo
ou
incremento
.
O coeficiente
b
0do polinômio é calculado pela expressão
b
0=
0f
0=
f
0enquanto os outros coeficientes
são calculados pela expressão
b
j1=
1
j
!
⋅
jf
ih
jcom j variando de 1 até o grau máximo do polinômio.
A expressão do polinômio interpolador ascendente de Newton de ordem n (
ou grau n; geralmente o grau do polinômio interpolador é ≤ 9) pode ser escrita da seguinte forma:
Pnx=b0b1x−x0b2x−x0x−x1b3x−x0x−x1x−x2⋯bnx−x0x−x1x−x2x−x3x−xn−1
P
n
x
=
b
0+
b
1
x
−
x
0
+
b
2
x
−
x
0
x
−
x
1
+
b
3
x
−
x
0
x
−
x
1
x
−
x
2
+
b
4
x
−
x
0
x
−
x
1
x
−
x
2x
−
x
3
+
⋮
b
n
x
−
x
0
x
−
x
1
x
−
x
2x
−
x
3x
−
x
n−1Por conveniência, faz-se uma mudança de variável para se trabalhar com o polinômio interpolador. Define-se
uma variável local
s
da seguinte forma :
s
=
x
−
x
0h
.
Utilizando esta variável local
s
pode-se escrever o polinômio interpolador da seguinte forma:
P
n
x
=
P
n
x
sh
=
∑
k=0 n
s
k
k
f
0onde
s
0
=
1
s
1
=
s
s
2
=
1
2 !
⋅
s
s
−
1
s
3
=
1
3 !
⋅
s
s
−
1
s
−
2
⋮
s
n
=
1
n
!
⋅
s
s
−
1
s
−
2
⋯
s
−
n
1
Os
s
i
são os coeficientes binomiais.
Por exemplo, quando o grau do polinômio interpolador é igual a cinco (n=5) tem-se:
P
5
x
=
∑
k=0 5
s
k
k
f
0=
s
0
0
f
0
s
1
1
f
0
s
2
2
f
0
s
3
3
f
0
s
4
4
f
0
s
5
5
f
0=
f
0+
s
f
0+
1
2 !
s
s
−
1
2
f
0+
1
3!
s
s
−
1
s
−
2
3
f
0+
1
4 !
s
s
−
1
s
−
2
s
−
3
4
f
0+
1
5 !
s
s
−
1
s
−
2
s
−
3
s
−
4
5
f
0Observe que os valores das diferenças finitas que aparecem nesta equação são os mesmos que aparecem na
primeira linha da tabela de diferença finitas (
veja a tabela de diferença finita que segue: a primeira linha contém osvalores:
f
0
f
0
2
f
0
3f
0⋯
).
Tabela de diferenças finitas progressivas
0f
i
1f
i
2f
i
3f
i
4f
iy
0
f
0
2f
0
3
f
0
4
f
0y
1
f
1
2f
1
3f
1
4f
1y
2
f
2
2f
2
3
f
2y
3
f
3
2f
3y
4
f
45. Interpolação de Newton com Espaçamento Não Uniforme
O método da interpolação progressiva de Newton utiliza uma tabela com espaçamento uniforme. Mas, nem
sempre a tabela com a qual se está trabalhando contém os dados com espaçamentos iguais, portanto é necessário
obter um polinômio interpolador para este caso.
O esquema de interpolação de Newton pode ser estendido para o caso do espaçamento dos pontos não uniforme,
utilizando-se diferença dividida.
Diferença dividida é calculada assim:
[
0,1
]=
f
x
1−
f
x
0
x
1−x
0para o caso geral:
[
0,1,
, k
]=
[
1,
, k
]−[
0,1,
, k
−
1
]
x
k−
x
0Cálculo da
primeira diferença dividida:
[
0,1
]=
f
1−
f
0x
1−x
0=[
1, 0
]
Segunda diferença dividida:
porque
[
x
i, x
j, x
k]=
[
x
j, x
k]−[
x
i, x
j]
x
k−
x
ipodemos escrever
[
0,1, 2
]=
[
1, 2
]−[
0, 1
]
x
2−
x
0A forma de expressar a
diferença dividida em termos dos valores da função
é:
[
0,1, 2
]=
f
0
x
0−x
1x
0−x
2
f
1
x
1−x
0x
1−x
2
f
2Diferença dividida de ordem k:
como
[
0,1,
, k
]=
[
1,
, k
]−[
0,1,
, k
−
1
]
x
k−
x
0temos :
[
0,1
,
, k
]
=
f
0
x
0−x
1
x
0−x
2
x
0−x
k+
f
1
x
1−x
0
x
1−x
2
x
1−x
k+
+
f
k
x
k−
x
0
x
k−
x
1
x
1−
x
k−1
=
=
f
0∏
j=1 k
x
0−
x
j
+
f
l∏
j=0 j≠l k
x
l−
x
j
+
+
f
k∏
j=0 j≠k k
x
k−
x
j
Colocada numa tabela as diferenças divididas ficam assim:
i
x
iy
i[
i , i
1
]
[
i , i
1
, i
2
]
[
i , i
1
, i
2
,i
3
]
[
i , i
1
, i
2
,i
3
,i
4
]
0
x
0y
0[
0,1
]
[
0,1,2
]
[
0,1,2 ,3
]
[
0,1,2 ,3 ,4
]
1
x
1y
1[
1,2
]
[
1,2 ,3
]
[
1,2 ,3 ,4
]
2
x
2y
2[
2,3
]
[
2,3,4
]
3
x
3y
3[
3,4
]
4
x
4y
4Por exemplo, considere a tabela de diferenças divididas para a função
y
=
x
4, com x variando de 1 a 15 onde
o espaçamento na variável x não é igual.
i
x
iy
i0
1
1
1
3
81
2
6
1296
3
7
2401
4
10
10000
5
15
50625
Da tabela, pode-se construir:
[
0,1
]=
f
1−
f
0x
1−x
0=
81
−
1
3
−
1
=
80
2
=
40
Construindo as outras diferenças divididas:
[
3,4,5
]=
[
4,5
]−[
3,4
]
x
5−
x
3=
8125
−
2533
15
−
7
=
5592
8
=
699
[
0,1,2 ,3 ,4
]=
[
1,2 ,3 ,4
]−[
0,1,2 ,3
]
x
4−
x
0=
26
−
17
10
−
1
=
A tabela de diferenças divididas fica assim:
i
x
iy
i[
x
i, x
i1]
[
x
i
x
i2]
[
x
i
x
i3]
[
x
i
x
i4]
[
x
i
x
i5]
0
1
1
40
73
17
1
0
1
3
81
405
175
26
1
2
6
1296
1105
357
38
3
7
2401
2533
699
4
10
10000
8125
5
15
50625
Tabela 01: Diferenças divididas
Para um conjunto de (n+1) pontos ascendentes com espaçamento desigual, o polinômio interpolador de Newton
com espaçamento desigual é escrito assim:
P
n
x
=
f
0
∑
i=1 n[
0,
, i
]
∏
j=0 i−1
x
−
x
j
Por exemplo para um polinômio interpolador de grau 4 tem-se:
P
4
x
=
f
0
∑
i=1 4[
0,
, i
]
∏
j=0 i−1
x
−
x
j
=
=
f
0+
[
0,1
]⋅
x
−
x
0
+
[
0,1,2
]⋅
x
−
x
0
x
−
x
1
+
[
0,1,2 ,3
]⋅
x
−
x
0
x
−
x
1
x
−
x
2
+
[
0,1,2 ,3 ,4
]⋅
x
−
x
0x
−
x
1x
−
x
2
x
−
x
3
Fazendo uso da tabela 01 pode-se escrever o polinômio interpolador:
P
4
x
= 1 +
40
x
−
1
+
73
x
−
1
x
−
3
+
17
x
−
1
x
−
3
x
−
6
+
1
x
−
1
x
−
3
x
−
6
x
−
7
ou
P
4x
=
1
x
4−
1
=
x
4que obviamente é a função tabelada.
Observe que na tabela as diferenças divididas de ordem quatro são iguais e portanto as diferenças divididas de
ordem cinco são nulas. Isto nos diz que o grau máximo do polinômio é quatro (
como obtido).
É possível escrever polinômios de ordem menor que quatro (
graus 1, 2 e 3) para representar a função, mas eles
não serão uma representação tão boa para a função quanto o polinômio de grau máximo.
Observe também que porque existem seis pontos na tabela (
número de pontos = n+1 = 5+1 = 6) seria possível
6. Interpolação de Lagrange
Outro método utilizado para gera um polinômio interpolador para pontos desigualmente espaçados é o método
chamado de interpolação de Lagrange.
Para n+1 pontos distintos, colocados em ordem crescente, que podem ter espaçamento desiguais é possível
obter-se um polinômio de ordem k
P
k
x
(
o grau k do polinômio será menor ou igual a n) tal que
P
x
i=
y
i,
para todo i.
O polinômio
P
x
pode ser escrito assim:
P
n
x
=
a
0
a
1x
a
2x
2
a
na
nou
P
n
x
=
∑
i=0 n
a
ix
iPara utilizar este polinômio basta conhecer os coeficientes
a
0, a
1,a
2, a
3,
, a
n.
Porque os pontos da tabela devem satisfazer o polinômio, ou seja
P
n
x
i=
y
i, pode-se escrever o sistema de
equações:
{
a
0
a
1x
0
a
2x
02
a
nx
0n=
y
0a
0
a
1x
1
a
2x
12
a
nx
1n=
y
1
a
0
a
1x
n
a
2x
n 2
a
nx
n n=
y
nPara determinar os coeficientes do polinômio deve-se resolver este sistema de equação.
O método de Lagrange permite encontrar o polinômio sem que seja necessário resolver diretamente o sistema
de equação mostrado.
Para evitar a solução do sistema de equação e obter o polinômio de Lagrange procede-se assim:
i
x
iy
i0
x
0y
01
x
1y
1. . .
. . .
n
x
ny
nPara uma tabela de pontos
x
i, y
i
i
=
0,1
,
, n
considere o produto dos fatores
V
0F
0
x
=
x
−
x
1
x
−
x
2
x
−
x
n
ou
F
i
x
=
∑
j=0 j≠i n
x
−
x
j
Neste produto o ponto
x
0é o único que não aparece na expressão (
o produto é uma função que passa pelosoutros pontos tabelados
). Portanto a função
F
0
x
é um polinômio em x, de ordem n, que torna-se zero nos
Dividindo
F
0
x
por
F
0
x
0
obtém-se:
L
0
x
=
x
−
x
1
x
−
x
2
x
−
x
n
x
0−x
1
x
0−x
2
x
0−x
n
Esta função
L
0
x
se torna unitária quando
x
=
x
0e zero para
x
=
x
1, x
=
x
2,
, x
=
x
nÉ possível gera polinômios similares para os outros pontos. A expressão
L
i
x
=
F
i
x
F
i
x
i
=
∏
j=0 j≠in
x
−
x
j
x
i−
x
j
é um
polinômio de grau n, que satisfaz as seguintes condições:
L
i
x
=
0
para
i
≠
j
L
i
x
j=
1
para
i
=
j
ou seja, nos n+1 pontos da tabela.
Este expressão aberta nos leva ao sistema de equações:
{
L
0
x
=
x
−
x
1x
−
x
2
x
−
x
n
x
0−
x
1
x
0−
x
2
x
0−
x
n
L
1
x
=
x
−
x
1
x
−
x
2
x
−
x
n
x
1−
x
0
x
1−
x
2
x
0−
x
n
L
n
x
=
x
−
x
1x
−
x
2
x
−
x
n−1
x
n−
x
0
x
0−
x
1
x
n−
x
n−1
Ao multiplicar-se cada
L
i
x
por
y
ie adicionando-se todos os produtos obtidos, a expressão gerada será
um polinômio de grau n.
O polinômio construído desta forma é o
polinômio interpolador de Lagrange
.
P
n
x
=
x
−
x
1
x
−
x
2
x
−
x
n
x
0−x
1x
0−x
2
x
0−
x
n
y
0
x
−
x
0
x
−
x
2
x
−
x
n
x
1−x
0x
1−x
2
x
1−x
ny
1+
⋮
+
x
−
x
0
x
−
x
1
x
−
x
n−1
x
n−
x
0
x
n−
x
1
x
n−
x
n−1
y
nou
P
n
x
=
∑
i=0n
y
iL
i
x
=
∑
i=0 ny
i∏
j=0 i≠j
n
x
−
x
j
Exemplo:
i
x
y
0
85
900
1 206
866
2 335
740
Considere a tabela ao lado contendo apenas 3 pontos.
Utilize a interpolação de Lagrange para obter o valor y referente ao ponto x=250
Com n = 2 teremos
L
0
x
,
L
1
x
e
L
2
x
. Então:
P
n
x
=
∑
i=0n
y
iL
i
x
=
y
0L
0
x
y
1L
1
x
y
2L
2
x
P
n
x
=
∑
i=0n
y
iL
i
x
=
y
0
x
−
x
1
x
−
x
2
x
0−
x
1
x
0−
x
2
y
1
x
−
x
0
x
−
x
2
x
1−
x
0
x
1−
x
2
y
2
x
−
x
0
x
−
x
1
x
2−
x
0
x
2−
x
1
P
2
x
=
900
x
−
206
x
−
335
85
−
206
85
−
335
866
x
−
85
x
−
335
206
−
85
206
−
335
740
x
−
85
x
−
206
335
−
85
335
−
206
que é o polinômio de interpolação de Lagrange para a função tabelada.
Não é usual expandir-se este polinômio, porque o cálculo do valor desejado pode ser feito diretamente com ele.
Utilizando o polinômio de Lagrange temos para x=250:
y
=
779.520
7. Diferenciação Numérica
Observação
Porque (
quase
) todas funções podem ser explicitadas por uma
série de Taylor
(
quase
) todas as funções podem ser
pensadas como sendo um polinômio.
Toda função analítica possuí uma série de Taylor
(
função de Taylor ou polinômio de Taylor).
Função analítica é aquela que possui todas as derivadas contínuas em x = a e na sua vizinhança.
A série de Taylor é expressa por:
f
x
=
f
a
h f
'
a
h
22!
f
' '
a
h
33 !
f
' ' '
a
h
44 !
f
4
a
h
mm
!
f
m
a
onde:
h
=
x
−
a
e
f
'f
' '
f
msão as derivadas primeira, segunda, . . . , até a derivada de ordem m
Diferenciação numérica é o processo de calcular a derivada de uma função cuja especificação é feita por valores
colocados numa tabela.
As três aproximações da derivada primeira de uma função
f
x
no ponto
x
0é mostrada a seguir.
Progressiva
Forward
Central
Regressiva
Backward
As aproximações são escritas assim:
Aproximação
Progressiva
f
'
x
0≃
f
x
0
h
−
f
x
h
Aproximação
Regressiva
f
'
x
0≃
f
x
0−
f
x
0−
h
h
Aproximação
Central
f
'
x
0≃
f
x
0
h
−
f
x
0−
h
2h
Para uma derivada de ordem p, a menor quantidade de pontos necessária para a obtenção da aproximação da
derivada é p+1.
Então, para a derivada primeira de uma função são necessários pelo menos dois pontos.
Considere que a função pode ser representada por um polinômio e que a série de Taylor (
que é um polinômio) da
função
f
x
em torno do ponto
x
0é expressa assim:
f
x
0
h
=
f
x
0
x
−
x
0
f
'
x
0
x
−
x
0
22 !
f
' '
x
0
x
−
x
033 !
f
' ' '
x
0
x
−
x
0
mm
!
f
m
x
0
onde o incremento
h
é obtido de
x
=
x
0
h
h
=
x
−
x
0.
Explicitando-se o valor
f
'na expressão da série de Taylor temos:
f
'
x
0=
f
x
0
h
−
f
x
0
x
−
x
0−
1
2
x
−
x
0
f
' '
x
0−
1
6
x
−
x
0
2f
' ' '
x
0−
f
'
x
0=
f
x
0
h
−
f
x
0
x
−
x
0
O
h
truncando-se a série depois do primeiro termo, a expressão se torna a aproximação progressiva da derivada
f
'
x
0=
f
x
0
h
−
f
x
0
x
−
x
0Para o caso do incremento na tabela ser constante e igual a
h
=
x
−
x
i=
x
−
x
0a expressão pode ser escrita
assim:
f
'
x
i=
f
x
i1−
f
x
i
h
−
1
2
h f
' '
x
i−
1
6
h
2
f
' ' '
x
i−
que após truncada nos leva a expressão
f
'
x
i=
f
x
i1−
f
x
i
h
. Estra expressão permite calcular a derivada primeira em qualquer ponto
x
i.
Ao truncar a série, o erro (
representado pelo primeiro termo) é expresso por
O
h
=−
1
2
h f
' '
x
i
. Por este
motivo diz-se que o erro é proporcional ao intervalo entre os pontos da tabela.
A
aproximação regressiva
nos leva a expressão :
f
x
0−h
=
f
x
0−
h f
'
x
0h
22!
f
' '
x
0−
h
33!
f
' ' '
x
0
que resolvendo para
f
'gera:
f
'
x
0=
f
x
0−f
x
0−h
h
O
h
onde
O
h
=
1
2
h f
' '
x
i
A
aproximação central
nos leva a expressão :
f
'
x
0=
f
x
0
h
−
f
x
0−
h
2h
O
h
2
onde
O
h
2=−
1
6
h
2
f
' ' '
x
i
Porque na aproximação central o erro é proporcional a
h
2em vez de
h
, quando o valor
h
diminui o erro
cai mais rapidamente que o erro nas outras aproximações.
Usando mais de dois pontos:
Ao utilizar mais de dois pontos no cálculo da derivada um resultado mais acurado é obtido.
O cálculo da derivada progressiva utilizando três pontos nos leva à equação:
f
'
x
i=
−
f
x
i2
f
x
i1−
3
f
x
i
2h
O
h
2
onde
O
h
2=
1
3
h
2
As tabelas que seguem listam as derivadas mais frequentemente utilizadas.
2-pontos
f
'
x
i=
f
i1−
f
ih
3-pontos
f
'
x
i=
−
f
i2
f
i1−
3
f
i2h
4-pontos
f
'
x
i=
2
f
i3−
9
f
i2
18f
i1−
11
f
i6h
Tabela 02 :
Derivada primeira
- Aproximação progressiva
2-pontos
f
'
x
i=
f
i−
f
i−1h
3-pontos
f
'
x
i=
3f
i−
4f
i−1
f
i−22h
4-pontos
f
'
x
i=
11f
i−
18f
i−1
9f
i−2−
2f
i−36h
Tabela 03 :
Derivada primeira
- Aproximação regressiva
2-pontos
f
'
x
i=
f
i1−
f
i−12h
4-pontos
f
'
x
i=
−
f
i2
8f
i1−
8f
i−1
f
i−212h
Tabela 04 :
Derivada primeira
- Aproximação central
3-pontos
f
' '
x
i=
f
i2−
2f
i1
f
ih
24-pontos
f
' '
x
i=
−
f
i3
4f
i2−
5f
i1
2f
ih
2Tabela 05 :
Derivada segunda
- Aproximação progressiva
3-pontos
f
' '
x
i=
f
i−
2f
i−1
f
i−2h
24-pontos
f
' '
x
i=
2f
x
i−
5f
x
i−1
4f
x
i−2−
f
x
i−3
2h
3-pontos
f
' '
x
i=
f
i1−
2f
i
f
i−1h
25-pontos
f
' '
x
i=
−
f
i2
16f
i1−
30f
i
16f
i−1−
f
i−212h
2Tabela 06 :
Derivada segunda
- Aproximação central
A utilização dos pontos tabelados para os cálculos das derivadas de ordem superior a 2 (derivada segunda)
apresentam erros elevados, por este motivo, na prática, não são utilizados.
8. Usando as Diferenças Finitas
Considere a definição dos três operadores que segue
Operador diferença progressiva:
f
x
i=
f
i1−
f
iOperador diferença regressiva:
∇
∇
f
x
i=
f
i−
f
i−1Operador diferença central:
f
x
i=
f
x
i1 2
−
f
x
i−1
2
ou
f
x
i1 2
=
f
i1−
f
ionde
f
x
i1 2
=
f
x
i
h
2
pode-se obter as derivadas das funções utilizando as diferenças finitas.
Operador:
Um operador pode ser visto como uma caixa que recebe uma entrada e dá uma saída.
Então, entrando com o valor
y
kno operador a saída será
y
k1−
y
k.
Uma forma adequada de pensar o operador é:
(
◊) quando o operador é aplicado a um valor gera (
produz) um resultado.
Os operadores diferenças (
progressiva, regressiva e central) definidos anteriormente obedecem a seguinte
propriedade:
(
◊) se
C
1e
C
2são constantes então:
C
1y
k
C
2z
k=
C
1⋅
y
k
C
2⋅
z
kUsando estes conhecimentos, pode-se construir o operador diferença progressiva de ordem dois assim:
2f
k=
f
k=
f
k1−
f
k=
f
k2−
2
f
k1
f
kObserve que o resultado obtido com
2f
kfoi o
numerador
da
derivada segunda - aproximação
progressiva
, com 3 pontos.
Como se sabe, o polinômio interpolador de Newton representa uma função que se ajusta aos n+1 pontos de uma
tabela onde a os valores da variável independente estão em ordem crescente e com espaçamento igual.
P
n
x
=
∑
k=0 n
s
k
k
f
0=
f
0
s
f
0
1
2!
s
s
−
1
2
f
0
1
3 !
s
s
−
1
s
−
2
3
f
0
1
4 !
s
s
−
1
s
−
2
s
−
3
4
f
0
onde
s
=
x
−
x
kh
Porque este polinômio
P
n
x
é uma aproximação da função
f
x
representada na tabela, a derivada deste
polinômio é também a derivada da função.
Considere o polinômio interpolador de segundo grau (
n=2), então:
p
2
x
=
f
k
s
f
k
1
2
s
s
−
1
2
f
kderivando temos
f
'
x
=
1
h
[
f
k
1
2
2s
−
1
2