













Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Quarto Capitulo do livro MATEMATICA COMPUTACIONAL E CALCULO NUMERICO do Prof. da Faculdade de Matematica da UFPA de Castanhal.
Tipologia: Manuais, Projetos, Pesquisas
1 / 21
Esta página não é visível na pré-visualização
Não perca as partes importantes!














INTERPOLAÇÃO
A interpolação é o processo pelo qual encontramos uma função que aproxima dados tabelados.
Isso é útil quando estamos interessados num valor (pertencente ao intervalo de dados) que não se
encontra na tabela.
Exemplos:
tabela:
Ano 1970 1980 1990 2000
Habitantes 352.724 683.908 1.235.030 1.814.
Quantos habitantes moravam nessa cidade em 1985.
deformação:
Deformação [mm] Tensão [MPa]
0,00027 60
0,00018 40
0,00009 20
Qual é a tensão correspondente a uma deformação de 0,00020mm?
variando com a altura (medida do fundo do rio para a superfície):
Altura (m) Velocidade (m/s)
0 (fundo) 0
1 0,
2 1,
3 2,
4 (superfície) 3,
Qual é a velocidade do rio na cota 2,4 m.
o F:
Temperatura [Celsius] Temperatura [Farenheit]
100 212
Tc 20
0 32
Ao transformarmos de uma escala de temperatura para outra estamos na verdade interpolando
valores.
Para resolvermos esses problemas, devemos encontrar uma função f(x) que represente cada
tabela. Com essa função, podemos calcular o que é pedido em cada situação, qualquer que seja o valor
que pertença ao intervalo de dados.
Em interpolação, temos dois casos a considerar:
O objetivo desse método é encontrar um polinômio capaz fornecer valores aproximados de uma
função f(x). A aproximação é feita através de séries de Taylor e MacLaurin.
Nesse caso, devemos encontrar qual é a função que aproxima uma tabela de dados. Os métodos
das diferenças finitas e das diferenças divididas são aplicados a esses tipos de problemas.
Qualquer que seja o tipo de interpolação, a base teórica é a série de Taylor.
As séries de MacLaurin são funções com infinitos termos de x (elevado a um determinado
expoente inteiro e positivo) que servem para descrever uma função f(x) de forma aproximada.
Uma função qualquer, que tenha derivadas contínuas até a ordem n, pode ser colocada sob a
forma de série de potências de x:
n n
n 1 n 1
4 4
3 3
2 f (x)= a 0 +a 1 x+a 2 x +a x +a x +...+a x +a x
− −
Precisamos agora encontrar todos os coeficientes da série. Isso é feito através da derivação da
função f(x) n vezes no ponto x=0.
É imediato saber que f(0)=a 0.
n 1 n
n 2 n 1
3 4
2 3
1 f (x) a 1 2 a 2 x 3 a x 4 a x ... (n 1 )a x na x
− − ′ = + + + + + − − +
Com f ′( 0 )=a 1
n 2 n
n 3 n 1
2 4
1 f (x) 2. 1 .a 2 3. 2 .a 3 x 4. 3 .a x ... (n 1 )(n 2 )a x n(n 1 )a x
− − = + + + + − − − + −
Com f ′′^ ( 0 )= 2. 1 .a 2 = 2 !a 2 , então 2!
f ( 0 ) a (^2)
n 3 n
n 4 n 1
1 f (x) 3. 2. 1 .a 3 4. 3. 2 .a 4 x ... (n 1 )(n 2 )(n 3 )a x n(n 1 )(n 2 )a x
− − ′′′ = + + + − − − − + − −
Com f ′′′^ ( 0 )= 3. 2. 1 .a 3 = 3 !a 3 , então 3!
f ( 0 ) a (^3)
n
( n) f (x)=n(n− 1 )(n− 2 )...( 3 ).( 2 ).( 1 ).a
Com (^) n n
(n ) f (x)= n(n− 1 )(n− 2 )...( 3 ).( 2 ).( 1 ).a =n!a , então n!
f ( 0 ) a
(n )
n =
b) Valor exato: e
5 =148,4131591...
f (x)= 1 + x
f ( 5 )= 1 + 5 = 6
x f(x) 1 x
2 = + +
f( 5 ) 1 5
2
= + + =
x
x f(x) 1 x
2 3
= + + +
f( 5 ) 1 5
2 3
= + + + =
Para valores grandes de x na série acima, temos uma convergência mais lenta. Como deveremos
proceder para calcular e
5 então? A resposta está na série de Taylor mostrada a seguir.
Esta série é uma generalização da série de MacLaurin, ou seja, a série é válida para qualquer
ponto próximo de x=a.
n
(n) 2 3 (x a) n!
f (a ) (x a) ... 3!
f (a ) (x a) 2!
f (a ) f (x) f(a) f(a)(x a) − + + −
A série de MacLaurin nada mais é do que um caso particular quando a=0. No meio matemático
é comum se ouvir falar que a série de MacLaurin é válida em torno do ponto x=0. Já a série de Taylor é
válida em torno do ponto x=a. Isso significa que, conhecendo o valor da função e de suas derivadas no
ponto x=a, então podemos determinar qualquer valor da função na proximidade desse ponto através da
série de Taylor.
Suponha uma função dada por uma tabela como mostrado a seguir:
1 x 1 y 1
2 x 2 y 2
3 x 3 y 3
... ... ...
n xn yn
Segundo Lagrange, podemos encontrar uma função f(x) que passe por todos os pontos,
definindo:
f (x)=P 1 (x)y 1 +P 2 (x)y 2 +P 3 (x)y 3 +...+Pn(x)y n
As funções P 1 (x), P 2 (x), P 3 (x),..., Pn(x) são chamadas polinômios de Lagrange e atendem às
seguintes propriedades:
P (^) i (xi)= 1 e Pi (xj)= 0 para i≠j
De tal forma que:
f (x 1 )=P 1 (x 1 )y 1 +P 2 (x 1 )y 2 +P 3 (x 1 )y 3 +...+Pn(x 1 )yn =y 1
Os polinômios de Lagrange são definidos por:
P 1 (x)=a 1 (x−x 2 )(x−x 3 )(x−x 3 )...(x−xn)
P 2 (x)=a 2 (x−x 1 )(x−x 3 )(x−x 4 )...(x−xn )
P 3 (x)=a 3 (x−x 1 )(x−x 2 )(x−x 4 )...(x−xn )
P (^) n (x)=an(x−x 1 )(x−x 2 )(x−x 3 )...(x−xn− 1 )
Observe que x 1 não é raiz do polinômio (não anula o polinômio) P 1 (x), porém x 1 é raiz dos
polinômios P 2 (x), P 3 (x),..., Pn(x). Do mesmo modo, x 2 não é raiz do polinômio P 2 (x), porém x 2 é raiz
dos polinômios P 1 (x), P 3 (x),..., Pn(x), assim como xn não é raiz do polinômio Pn(x), porém xn é raiz dos
polinômios P 1 (x), P 2 (x), P 3 (x),..., Pn-1(x).
Podemos calcular a 1 , a 2 , a 3 ,..., an sabendo que Pi (xi)= 1 , ou seja:
P 1 ( x 1 )=a 1 (x 1 −x 2 )(x 1 −x 3 )...(x 1 −xn)= 1
P 2 (x 2 )=a 2 (x 2 −x 1 )(x 2 −x 3 )...(x 2 −xn)= 1
P 3 (x 3 )=a 3 (x 3 −x 1 )(x 3 −x 2 )...(x 3 −xn)= 1
P (^) n (xn)= an(xn−x 1 )(xn−x 2 )...(xn−xn− 1 )= 1
Assim, temos:
(x x )(x x )...(x x )
a 1 2 1 3 1 n
1 − − −
(x x )(x x )...(x x )
a 2 1 2 3 2 n
2 − − −
(x x )(x x )...(x x )
a 3 1 3 2 3 n
3 − − −
(x x )(x x )...(x x )
a n 1 n 2 n n 1
n − − − −
Imagine que temos o seguinte problema a resolver: disponho de valores de x e y tabelados como
mostrado na tabela abaixo:
Desejamos saber quanto vale y para x=0,4.
Esse problema pode ser resolvido encontrando uma função f(x) que aproxime a tabela acima,
calculando então f(0,4).
Para encontrarmos f(x) precisamos, como na série de MacLaurin ou de Taylor, calcular todas as
derivadas. Surge então a pergunta: como calcular todas as derivadas tendo apenas valores
tabelados?
Neste ponto devemos definir o conceito de diferenças divididas. Esse conceito nos dará suporte
para encontrarmos todas as derivadas possíveis.
A resposta à pergunta feita acima é: aproximar uma derivada por uma diferença. Lembre-se de
que a derivada é uma taxa de variação instantânea e a diferença é uma taxa de variação média. Essas
definições ficam mais claras se lembrarmos da Física que a velocidade instantânea é a primeira
derivada do espaço em relação ao tempo:
t
Lim dt
dS V t 0
inst ∆
∆→
A velocidade média é então definida por:
t
Vméd ∆
Podemos então fazer a seguinte aproximação:
Vinst ≈V méd
O que fornece:
t
dt
dS
Matematicamente, uma derivada se expressa da seguinte forma:
0
0
x x
0 x x
f(x) f(x ) f (x ) Lim 0 −
→
Podemos fazer então a seguinte aproximação:
0
0 0 x x
f(x) f(x ) f (x ) −
Taxa de variação média
Taxa de variação instantânea
A essa aproximação daremos o nome especial de diferenças divididas. A representação da
primeira derivada é feita da seguinte maneira:
0
0 0 x x
f(x) f(x ) f [x,x ] −
Se fizermos x=x 1 :
1 0
1 0 1 0 x x
f(x) f(x ) f [x,x ] −
Se invertermos a posição de x 0 e x 1 na representação da diferença dividida, não alteraremos o
resultado final, veja:
0 1
0 1 0 1 x x
f(x ) f(x ) f [x ,x ] −
Se multiplicarmos por –1 o numerador e o denominador não estamos alterando o resultado final,
assim:
f[x,x ] x x
f(x) f(x )
x x
f(x ) f(x ) f [x ,x ] 1 0 1 0
1 0
0 1
0 1 0 1 = −
Acabamos de comprovar que se alterarmos a ordem dos termos dentro dos colchetes, o
resultado não se altera. Daqui para a frente daremos preferência para o termo com o menor índice
colocado mais à esquerda.
Podemos concluir a partir das fórmulas acima que, para calcularmos a primeira derivada,
necessitamos de dois pontos (x 0 e x 1 ). Como temos mais de dois pontos em nossa tabela, podemos
também definir a primeira derivada entre os pontos x 1 e x 2 :
2 1
2 1 1 2 x x
f(x ) f(x) f [x,x ] −
Se, na tabela, tivéssemos ainda um ponto x 3 teríamos mais uma derivada a calcular:
3 2
3 2 2 3 x x
f(x ) f(x ) f [x ,x ] −
Deveremos então refazer essa operação sucessivamente até esgotarmos todos os elementos xi.
Para evitar tantas fórmulas, poderíamos ter construído a seguinte tabela (para três pontos):
0 x 0 y 0 f[x 0 , x 1 ]
1 x 1 y 1 f[x 1 , x 2 ]
2 x 2 y 2 -----
Para o nosso caso mostrado no início:
0 0,3 3,09 (^) f [x ,x] 11 , 8 0 1 =
1 1,5 17,25 (^) f [x,x ] 13 , 6 1 2 =
2 2,1 25,41 ----
Note que o elemento (^) f [x ,x ] 2 3 não pode ser calculado, pois x 3 não existe na tabela.
Agora podemos montar a tabela completa:
Exemplo:
Calcular a tabela das diferenças divididas para os dados tabelados:
x x
f(x ) f(x ) f[x ,x ] 1 0
1 0 0 1 = −
x x
f(x ) f(x) f[x,x ] 2 1
2 1 1 2 = −
x x
f[x,x ] f[x ,x] f[x ,x ,x ] 2 0
1 2 0 1 0 1 2 = −
A tabela fica:
0 0,3 3,09 (^) f [x ,x] 11 , 8 0 1 =^ f^ [x 0 ,x 1 ,x 2 ]=^1
1 1,5 17,25 (^) f [x ,x ] 13 , 6 1 2 =^
Note que não existem as diferenças f[x 1 ,x 2 ,x 3 ], f[x 2 ,x 3 ,x 4 ] porque os pontos x 3 e x 4 não existem
na tabela. Você deve perceber que a coluna da diferença f[xi,xi+1,xi+2,xi+3] não existe já que não existem
os pontos xi+3.
Na verdade, a partir de 3 pontos só podemos encontrar no máximo 2 derivadas (a tabela só terá
2 colunas de diferenças). Com 4 pontos só podemos fazer 3 derivadas (a tabela só terá 3 colunas de
diferenças) e assim sucessivamente.
Primeira
derivada
Segunda
derivada
Esse método de interpolação é conhecido como método de interpolação de Newton e faz uso do
conceito de diferenças divididas. O objetivo é encontrar f(x) que interpole os dados x e y que estão
tabelados.
Sabendo-se que:
0
0 0 x x
f(x) f(x ) f [x,x ] −
Rearrumando:
f [x,x 0 ](x−x 0 )=f(x)−f(x 0 )
f (x)= f(x 0 )+f[x,x 0 ](x−x 0 ) (A)
Essa equação é similar à aproximação com dois termos pela série de Taylor, pois a equação (A)
tem um termo constante (f(x 0 )) e um termo com a primeira derivada (f[x,x 0 ]).
Mas o termo f[x,x 0 ] não pode ser calculado porque x não é um valor tabelado. Portanto,
precisamos fazer:
1
0 0 1 0 1 x x
f[x,x ] f[x ,x ] f [x,x ,x ] −
Rearrumando:
f [x,x 0 ,x 1 ](x−x 1 )=f[x,x 0 ]−f[x 0 ,x 1 ]
f [x,x 0 ]=f[x 0 ,x 1 ]+f[x,x 0 ,x 1 ](x−x 1 )
Substituindo este último resultado na equação (A) obtemos:
f (x)=f(x 0 )+f[x,x 0 ](x−x 0 )
f (x)=f(x 0 )+ {f [x 0 ,x 1 ]+f[x,x 0 ,x 1 ](x−x 1 )}( x−x 0 )
f (x)= f(x 0 )+f[x 0 ,x 1 ](x−x 0 )+f[x,x 0 ,x 1 ](x−x 0 )(x−x 1 ) (B)
Essa equação também é similar à aproximação com três termos pela série de Taylor, pois a
equação (B) tem um termo constante (f(x 0 )), um termo com a primeira derivada (f[x 0 ,x 1 ]) e um termo
com a segunda derivada (f[x,x 0 ,x 1 ]).
Generalizando, temos:
f (x)=y 0 +f[x 0 ,x 1 ](x−x 0 )+f[x 0 ,x 1 ,x 2 ](x−x 0 )(x−x 1 )+f[x 0 ,x 1 ,x 2 ,x 3 ](x−x 0 )(x−x 1 )(x−x 2 )+ ...
Onde f(x 0 )=y 0.
Exemplo
Voltando ao início da seção, desejávamos calcular y para x=0,4 na tabela abaixo:
A diferença finita, assim como a diferença dividida, é um conceito matemático que ajuda no
cálculo aproximado de uma derivada.
A diferença finita de primeira ordem pode ser expressa sob a seguinte forma geral:
i i 1 i
1 ∆ y =y+ −y
Podemos então, a partir da tabela, calcular:
0 1 0
1 ∆y =y −y
1 2 1
1 ∆y =y −y
2 3 2
1 ∆ y =y −y , e assim sucessivamente.
Com as diferenças finitas anteriores podemos montar a seguinte tabela (para três pontos):
1
0 x 0 y 0 ∆ 1 y 0
1 x 1 y 1 ∆ 1 y 1
2 x 2 y 2 ----
É bom lembrar que caso existam apenas quatro pontos tabelados, então só existirão três
diferenças finitas de primeira ordem.
Para o nosso caso mostrado no início:
1
0 0,01 1,01 y 0 0 , 08
1 ∆ =
1 0,03 1,09 (^) y 1 0 , 16
1 ∆ =
2 0,05 1,25 ----
Note que como não temos um quarto ponto y 3 não podemos calcular ∆
1 y 2.
A diferença finita de segunda ordem pode ser expressa por:
1 i 1
1 i 1 i
1 i
1 1 i
2 ∆ y =∆ ∆y =∆ y+ −y =∆y+ −∆y
A diferença finita de terceira ordem é dada por:
2 i 1
2 i
1 i 1
1 1 i
1 2 i
3 ∆ y =∆ ∆y =∆ ∆y+ −∆y =∆y+ −∆y
É importante verificar que a diferença finita ∆y é uma aproximação de dy. A diferença finita
∆
2 y é uma aproximação de d
2 y e assim por diante.
Generalizando:
i
n 1 i 1
n 1 i
n y y y
−
− ∆ =∆ −∆
Com esses valores podemos formar a tabela completa:
1
2
Exemplo:
Calcular a tabela das diferenças finitas para os dados tabelados:
A tabela fica:
1
2
0 0,01 1,01 y 0 0 , 08
1 ∆ = y 0 0 , 08
2 ∆ =
1 0,03 1,09 y 1 0 , 16
1 ∆ = ----
2 0,05 1,25 ---- ----
Onde:
y 0 y 1 y 0 1 , 09 1 , 01 0 , 08
1 ∆ = − = − =
y 1 y 2 y 1 1 , 25 1 , 09 0 , 16
1 ∆ = − = − =
y y y 0 0 , 16 0 , 08 0 , 08
1 1
1 0
2 ∆ =∆ −∆ = − =
Note que não pudemos calcular as diferenças ∆
2 y 1 e ∆
2 y 2 porque ∆
1 y 2 e ∆
1 y 3 não existem na
tabela. Você deve perceber que a coluna da diferença ∆
3 yi não aparece já que é necessário que existam
pelo menos 4 pontos tabelados e, no presente caso, só existem 3 pontos tabelados.
Lembre-se que, a partir de 3 pontos só podemos encontrar no máximo 2 derivadas (a tabela só
terá 2 colunas de diferenças). Com 4 pontos só podemos fazer 3 derivadas (a tabela só terá 3 colunas de
diferenças) e assim sucessivamente.
O método de interpolação que faz uso das diferenças finitas é conhecido como método de
Newton-Gregory. Mais uma vez, o objetivo é encontrar f(x) que interpole os dados x e y que estão
tabelados.
Primeiramente vamos fazer a seguinte mudança de variável:
h
x x z
Isso leva a:
x −x 0 =hz
Então:
x −x 1 =x−(x 0 +h)=x−x 0 −h=hz−h=h(z− 1 )
x −x 2 =x−(x 1 +h)=x−x 1 −h=h(z− 1 )−h=h(z− 2 )
x −x 3 =x−(x 2 +h)=x−x 2 −h=h(z− 2 )−h=h(z− 3 )
x −x 4 =h(z− 4 )
Simplificando alguns termos:
z (z 1 ) (z 2 ) ... 3!
y z (z 1 ) 2!
y f (z) y y z
0
3 0
2
0
1 0 ⋅ ⋅ − ⋅ − +
Exemplo
Voltando ao início da seção, desejávamos calcular y para x=0,02 na tabela que segue:
1
2
Para o nosso caso, a função de interpolação fica (só temos até a segunda derivada):
z (z 1 ) 2!
z (z 1 ) 1 , 01 0 , 08 z 2!
y f (z) y y z 0
2
0
1 0 ⋅ ⋅ − = + ⋅ + ⋅ ⋅ −
Com valores extraídos da tabela de diferenças finitas.
O valor de y para x=0,02 pode ser encontrado através da função f(z). Então, é necessário
calcular o valor da variável z que corresponde a x=0,02:
h
x x z
Para x=0,02 (z=0,5):
f ( 0 , 02 )=f( 0 , 5 )= 1 , 01 + 0 , 08 ⋅ 0 , 5 + ⋅ ⋅ −
f ( 0 , 02 )=f( 0 , 5 )= 1 , 04
Resultado: Note que o valor de f(0,02) deve estar entre y 0 =1,01 e y 1 =1,09 porque 0,02 está entre
x 0 =0,01 e x 1 =0,03. Portanto, o nosso resultado, f(0,02)=1,04, está correto.
Suponha que tenhamos um conjunto de dados tabelados que foram obtidos de um experimento
qualquer com n valores de x e y:
x x 1 x 2 x 3 ... xn
y y 1 y 2 y 3 ... yn
E que tenhamos que encontrar uma função que expresse a dependência entre as grandezas x e y:
y =f(x )
Segundo o método dos mínimos quadrados, o objetivo consiste em encontrar essa função f(x)
que interpole os valores tabelados com um mínimo de erro.
No presente texto daremos preferência a funções polinomiais.
Exemplo:
Quando as quantidades envolvidas x e y são grandes em relação ao erro calculado, podemos
facilmente verificar que esse erro elevado ao quadrado é pequeno e ainda sempre positivo. Deste
conceito simples é que surge o método aqui descrito.
Exemplo:
Se um erro calculado for igual a –0,001 então se elevarmos este valor ao quadrado obteremos:
E =− 0 , 001
2 2 E =(− 0 , 001 )
De uma forma geral, a soma dos quadrados dos erros fica:
n
i 1
2 S(a,b,c,...) yi f(xi,a,b,c,...)
Para que o valor da soma seja mínimo, devemos calcular:
a
∂
b
∂
c
∂
Da segunda equação encontramos:
n
y a x
b
n
i 1
i
n
i 1
∑ i ∑ = =
Substituindo na primeira equação:
∑ ∑
∑ ∑
∑ = =
= =
=
n
i 1
i i
n
i 1
i
n
i 1
i
n
i 1
n i
i 1
2 i x xy n
y a x
a x
∑
∑ ∑ ∑ ∑
= = = =
=
n
i 1
i i
n
i 1
i
n
i 1
i
n
i 1
i
n
i 1
n i
i 1
2 i xy n
a x x
n
y x
a x
Multiplicando os dois membros por n:
∑ ∑ ∑ ∑ ∑ ∑ = = = = = =
n
i 1
i i
n
i 1
i
n
i 1
i
n
i 1
i
n
i 1
i
n
i 1
2 na xi y x a x x n xy
∑ ∑ ∑ ∑ ∑ = = = = =
n
i 1
i
n
i 1
i
n
i 1
i i
2 n
i 1
i
n
i 1
2 a n xi x n xy x y
Enfim, o coeficiente a é encontrado a partir da seguinte fórmula:
2 n
i 1
i
n
i 1
2 i
n
i 1
i
n
i 1
i
n
i 1
i i
n x x
n xy x y
a
∑ ∑
∑ ∑ ∑
= =
= = =
Vejamos agora um exemplo numérico.
Exemplo:
Suponhamos que um experimento tenha fornecido os seguintes dados:
i xi yi
1 1 3
2 2 4
3 3 2,
4 5 0,
Qual é a reta que melhor se ajusta aos dados acima? Primeiramente, devemos construir a
seguinte tabela:
i xi yi (xi)
2 xiyi
1 1 3 1 3
2 2 4 4 8
3 3 2,5 9 7,
4 5 0,5 25 2,
ΣΣΣΣ 11 10 39 21
No presente caso, n=4.
Para calcularmos os coeficientes a e b devemos apenas aplicar as fórmulas:
2 n
i 1
i
n
i 1
2 i
n
i 1
i
n
i 1
i
n
i 1
i i
n x x
n xy x y
a
∑ ∑
∑ ∑ ∑
= =
= = =
a 2
n
y a x
b
n
i 1
i
n
i 1
∑ i ∑ = =
b =
Então a equação da reta fica:
x 35
y =− +
Graficamente:
0.00 2.00 4.00 6.