Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila UFV
Apostila UFV
Valentín Mendoza
UFV
Apresentação
Estas notas de aula de Cálculo Numérico foram escritas no semestre 2013-II quando
ministrei esta disciplina para os estudantes da Universidade Federal de Viçosa. Em
princı́pio foram apresentados em forma de 6 apostilas, cada uma correspondendo a um
capı́tulo do conteúdo. Agora serão apresentadas juntas acrescentando os exercı́cios
de cada tópico.
O objetivo ao escrevê-las é proporcionar ao aluno os principais conceitos da análise
numérica que lhe permitam resolver os problemas que se lhe apresentarão no decorrer
de sua atividade de trabalho. Tivemos especial interesse em apresentar a dedução dos
métodos, seguindo as ideias gerais nas quais está baseado cada uma das técnicas
aqui mostradas.
Não está demais dizer que toda a tecnologia de nosso tempo está muito ligada ao
Cálculo Numérico. Sem ele seria impossı́vel calcular as probabilidades da distribuição
normal, resolver equações de difusão, trabalhar com dinâmica de fluidos, governar o
movimento de robots, etc. Pois existem modelos de fenômenos fı́sicos, econômicos,
biológicos, etc, que são analı́ticamente insolúveis, ou cuja solução é tão complicada
como para utilizá-la para fins práticos. Nesses casos o Cálculo Numérico constitui-se a
única ferramenta para abordá-los e para obter soluções aceitáveis. Por isso, se o aluno
sente que a disciplina é um pouco entediante quando utiliza a calculadora para realizar
contas sobre contas num determinado exercı́cio, deve ser consciente que isso é um
pequeno preço a pagar pelo conhecimento e a práxis que adquirirá e que, na hora das
aplicações, serão inestimáveis.
Fico devendo a parte computacional sem a qual a potência do Cálculo Numérico
não é apreciada.
Acredito que este trabalho contenha alguns erros, mas estes seriam muitos mais
se não fosse pelas correições que alguns dos alunos fizeram ao texto inicial. Gostaria
de agradecer a Daniela Abrantes Leal, Beatryz Cardoso Mendes, Gabriel de Rezende
Coelho, Franco Luiz Alves e Marcus Vinicius Miranda, que me indicaram alguns erros
tipográficos ou de conteúdo. Mas a pesar do dedicado esforço deles, escaparam-se
algumas coisas que podem ser melhoradas. Por isso, se o leitor tiver comentários,
crı́ticas e sugestões pode encaminhá-las ao email valentin@ufv.br. Serei grato a
quem comunicar os erros de qualquer natureza encontrados no texto.
2
Sumário
2 Interpolação Polinomial 22
2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3 A Fórmula de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4 A Fórmula de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4 Integração Numérica 49
4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.1 Estudo do Erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3 Regra dos Trapézios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3.1 Limitante superior do erro na Regra do Trapézio . . . . . . . . . . . 53
4.3.2 Regra do Trapézio Generalizada . . . . . . . . . . . . . . . . . . . . 54
4.4 Regra 13 de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.4.1 Limitante superior para o Erro E2 na regra 1/3 de Simpson . . . . . 57
4.4.2 Regra 1/3 de Simpson Generalizada . . . . . . . . . . . . . . . . . . 60
4.5 Regra 83 de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.5.1 Limitante superior para o erro na regra 3/8 de Simpson . . . . . . . 63
4.5.2 Regra 3/8 de Simpson Generalizada . . . . . . . . . . . . . . . . . . 64
4.6 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3
5 Resolução Numérica de Equações Diferenciais Ordinárias 69
5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3 O Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4 Métodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.4.1 Métodos de Runge-Kutta de Ordem 2 . . . . . . . . . . . . . . . . . 75
5.4.2 Métodos de Runge Kutta de Ordem 3 . . . . . . . . . . . . . . . . . 78
5.4.3 O Método de Runge-Kutta de Ordem 4 . . . . . . . . . . . . . . . . 81
5.5 Sistemas de Equações Diferenciais Ordinárias . . . . . . . . . . . . . . . . . 82
5.5.1 Aplicação a equações diferenciais de segunda ordem . . . . . . . . 84
5.6 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4
1 Métodos numéricos para a solução de equações
1.1 Introdução
Muitos problemas em diferentes áreas de conhecimento reduzem-se à solução da equação:
f (x) = 0 (1.1)
em que f : [a, b] → R é uma função contı́nua. Um valor x̄ que satisfaz f (x̄) = 0 é chamado
uma raiz ou um zero de f (x).
É conhecido que se f (x) for um polinômio de grau menor ou igual a 4 existe uma
fórmula algébrica para determinar todas as suas raizes; mas se f (x) for um polinômio de
grau maior ou igual a 5 ou uma função envolvendo funções transcendentais, não existe
um método geral que permita encontrar exatamente as raizes da equação f (x) = 0.
Exemplo 1.1. A figura abaixo mostra o sol na origem e a terra no ponto (1, 0). Existem
5 pontos de equilibrio, no plano determinado pela órbita da terra ao redor do sol, nos
quais um satélite permanece imóvil em relação à terra. Estes pontos são chamados pontos
de Lagrange em honor ao matemático francês Joseph Louis Lagrange quem os descobriu
estudando o problema restrito dos três corpos. Estes pontos são obtidos quando as forças
(gravitacionais, centrı́petas ) que agem no satélite se contrabalancearem. Em dezembro
de 2005 o satélite de pesquisa solar SOHO (Solar and Heliospheric Observatory) foi
colocado no ponto L1 . Este ponto L1 é uma boa posição para monitorar o sol desde que
as correntes de partı́culas do sol, como o vento solar, atingem L1 aproximadamente uma
hora antes de atingir a terra.
m2
Se m1 é a massa do sol, m2 é a massa da terra e r = m1 +m2 , então a coordenada x de L1
é a única raiz da equação de grau 5:
Sol Terra
5
Muitos problemas de ciência e tecnologia, como o problema anterior, conduzem à
resolução de equações não lineares para as quais é difı́cil ou impossı́vel encontrar
uma solução exata.
1.2 Preliminares
Um teorema que utilizaremos é o seguinte.
TEOREMA 1.1 (Teorema do Valor Intermediário (TVI)). Seja f (x) é uma função contı́nua
num intervalo [a, b]. Se f (a) f (b) < 0 então existe pelo menos uma raiz x̄ de f (x) = 0 entre a e b.
Observe que f (0) = r − 1 < 0 e f (1) = r > 0 então, pelo TVI, existe uma raiz x̄ no intervalo
[0, 1].
TEOREMA 1.2 (Teorema do Valor Médio (TVM)). Seja f (x) uma função contı́nua em [a, b]
e diferenciável no intervalo (a, b). Então existe um ponto c ∈ (a, b) tal que
a+b
x1 =
2
6
Figura 2: O Método da Bisseção.
Se por acaso obtemos que f (x1 ) = 0, então o problema ficaria resolvido pois neste caso
x̄ = x1 . Se f (x1 ) , 0 então x̄ encontra-se no interior de [a, x1 ] ou no interior de [x1 , b].
Para determinar em qual destes intervalos está a raiz, utilizamos o TVI:
bn−1 − an−1 b0 − a0
bn − an = = ... = . (1.2)
2 2n
e
an + bn
xn+1 = .
2
O seguinte Teorema mostra a convergência das aproximações xn à raiz x̄.
TEOREMA 1.3. A sequência de aproximações xn obtidas pelo Método da Bisseção converge para
a raiz x̄.
b0 − a0
lim |bn − an | = lim = 0.
n→∞ n→∞ 2n
Por tanto limn→∞ bn = limn→∞ an = L onde L é um número real. Como an < xn+1 <
7
bn temos que limn→∞ xn = L. Provaremos que L = x̄. Observe que f (an ) f (bn ) < 0
então
lim f (an ) f (bn ) = f (L) f (L) ≤ 0,
n→∞
o que implica que ( f (L))2 ≤ 0. Mas ( f (L))2 ≥ 0. Assim a única possibilidade é que
f (L)2 = 0, ou f (L) = 0. Dessa forma L = x̄.
Desejamos determinar quantas iterações são necessárias como mı́nimo, para encontrar
um intervalo [an , bn ], que contenha a aproximação xn+1 , tal que
bn − a n b0 − a 0
|xn+1 − x̄| ≤ xn+1 − an = = n+1
2 2
Logo para obter a precisão desejada, é suficiente considerar um n tal que
b0 − a0
<ǫ
2n+1
Assim,
Log(b0 − a0 ) − Log(ǫ)
n> − 1.
Log(2)
Solução:
A função a avaliar é f (x) = x3 + cos(x). Note que f (−1) = −0.45969 e f (0) = 1, assim
podemos considerar a = −1 e b = 0. Observe que precisaremos de
Log(0 + 1) − log(0.01)
n> − 1 = 5.64
Log2
8
iterações para obter o erro desejado. Assim, é suficiente n = 6. Na seguinte tabela
organizaremos os dados:
Em cada passo fomos utilizando o TVI para escolher os valores de a e b. Repare que
b6 − a 6
|x7 − x̄| ≤ = 0.00781 < 0.01.
2
9
Assim
a f (b) − b f (a)
x1 =
f (b) − f (a)
Tendo x1 , podemos usar o mesmo critério da Bisseção para escolher o novo intervalo
[a, b], isto é:
an f (bn ) − bn f (an )
xn+1 = . (1.3)
f (bn ) − f (an )
O Método da Bisseção utiliza só a informação dos valores a e b para encontrar xn+1 ,
entanto que a Falsa Posição utiliza a informação de a, b, f (a) e f (b).
Em alguns exemplos, o critério de parada será estabelecido pelo erro relativo. Se desejar-
mos um erro relativo menor que ǫ, o método para uma vez que atingimos a desigualdade
xn+1 − xn < ǫ.
(1.4)
xn+1
Exemplo 1.4. Aplique o método da Falsa Posição para resolver a equação x3 + cos(x) = 0
com a = −1 e b = 0. Encontre um resultado xn+1 tal que |xn+1 − xn | < 0.01.
Solução:
10
n a b xn+1 f (a) f (b) f (xn+1 )
0 -1 0 -0.68507 -0.45969 1 0.45285
1 -1 -0.68507 -0.84135 -0.45969 0.45285 0.07089
2 -1 -0.84135 -0.86254 -0.45969 0.07089 0.00880
3 -1 -0.86254 -0.86512 -0.45969 0.00880 0.00106
Em cada passo, uma vez calculado xn+1 , utilizamos o TVI para escolher o intervalo
[a, b]. Note que
|x4 − x3 | ≤ 0.00262 < 0.01.
Observação 1.2. Em todos os métodos que seguem aplicamos um dos dois critérios
de parada:
x = φ(x) (1.5)
em que φ(x) é uma função contı́nua. Desse modo, achar uma raiz x̄ que satisfaça f (x̄) = 0
é equivalente a achar um x̄ tal que x̄ = φ(x̄).
Exemplo 1.5. Encontre uma função φ(x) tal que a equação x = φ(x) seja equivalente à
equação x3 − 13 = 0.
Solução:
(ii) Escreva x3 − 13 = 0 na forma 3x3 = 2x3 + 13. Divida entre 3x2 para obter
11
2x3 +13 2x3 +13
x= 3x2
. Neste caso φ(x) = 3x2
.
Do exemplo anterior é claro que existem muitas, na verdade infinitas, maneiras de definir
uma função φ(x). Se temos escolhido uma destas funções φ e um ponto x0 ∈ [a, b],
construa a sequência
xn+1 = φ(xn ) (1.6)
Se por acaso a sequência {xn } convergir para um número x∗ , isto é, limn→∞ xn = x∗ , então
temos que
lim xn+1 = lim φ(xn ).
n→∞ n→∞
Como φ é contı́nua,
lim xn+1 = φ( lim xn ),
n→∞ n→∞
TEOREMA 1.4. Seja φ(x) uma função contı́nua e diferenciável num intervalo [a, b] no qual
vale
|φ′ (x)| < 1. (1.7)
tal que a equação f (x) = 0 seja equivalente à equação x = φ(x). Então, dado x0 ∈ [a, b], a
sequência de iterações xn+1 = φ(xn ) converge para a raiz x̄ de f (x) = 0.
Como |φ′ (x)| < 1 para todo x ∈ [a, b] temos que |φ′ (cn )| ≤ M, para um certo 0 < M < 1.
Pela definição xn+1 = φ(xn ), isto implica que
12
Por tanto
lim |xn+1 − x̄| ≤ lim Mn+2 |x0 − x̄| = 0
n→∞ n→∞
Observação 1.3. Pelo Teorema 1.4 devemos escolher uma φ que satisfaça:
Exemplo 1.6. A função f (x) = xe−x − e−3 possui exatamente uma raiz x̄ em [0.01, 1].
Encontre esta raiz pelo método de Aproximações Sucessivas, utilizando um erro absoluto
menor que 0.01.
Solução:
Escreva a equação xe−x − e−3 = 0 na forma xe−x = e−3 , então divida entre e−x para
obter x = ex−3 . Assim φ(x) = ex−3 e φ′ (x) = ex−3 . Como 0.01 ≤ x ≤ 1 temos
−2.99 ≤ x − 3 ≤ −2 e então
e−2.99 ≤ ex−3 ≤ e−2 ,
pois ex−3 é uma função crescente. Logo, |φ′ (x)| ≤ e−2 ≈ 0.1353 < 1. Então φ(x)
satizfaz as condições do Teorema 1.4. Considere o ponto x0 = 0.5, então
n xn
0 0.5
1 0.08208
2 0.05404
3 0.052551
13
1.6 O Método de Newton
A ideia para encontrar uma raiz da equação f (x) = 0 em todos os métodos numéricos
é começar com uma (ou mais) aproximação inicial x0 e então determinar a seguinte
aproximação seguindo uma regra dada. No método de Newton usa-se a reta tangente
para achar a segunda aproximação. Isto é feito da seguinte maneira.
Seja f : [a, b] → R uma função contı́nua em [a, b] e diferenciável em (a, b), e seja
x0 ∈ (a, b) uma aproximação inicial da raiz x̄. A reta tangente no ponto (x0 , f (x0 )) usa-se
para determinar a seguinte aproximação. Assim a nova aproximação será então o valor
de x1 no qual a ordenada da reta tangente é zero.
Reta tangente
y − f (x0 )
= f ′ (x0 ).
x − x0
0 − f (x0 )
= f ′ (x0 ).
x1 − x0
f (x0 )
x1 = x0 − .
f ′ (x0 )
Uma vez calculado x1 podemos fazer o mesmo processo para achar outra aproximação
x2 a partir de x1 . É claro que a fórmula para x2 é:
f (x1 )
x2 = x2 − .
f ′ (x1 )
14
Em forma geral, a aproximação (n + 1)-ésima é dada por
f (xn )
xn+1 = xn − . (1.9)
f ′ (xn )
TEOREMA 1.5. Sejam f (x), f ′ (x) e f ′′ (x) contı́nuas num intervalo I = [a, b] que contém a raiz
x̄ e suponha que f ′ (x̄) , 0. Então existe um intervalo I∗ ⊂ I, contendo a raiz x̄ tal que se x0 ∈ I∗ ,
então a sequência {xn } gerada pela fórmula
f (xn )
xn+1 = xn −
f ′ (xn )
f (x) f ′′ (x)
φ′ (x) =
[ f ′ (x)]2
Observação 1.4. O Teorema anterior diz que se começarmos com um ponto x0 próximo
da raiz x̄, então o Método de Newton convergirá para x̄.
Exemplo 1.7. Considere a equação não linear x2 − ex = 0. Use o método de Newton para
resolvê-la considerando uma aproximação inicial de x0 = −2 e um erro absoluto menor
que 0.001.
Solução:
f (xn )
xn+1 = xn − ,
f ′ (xn )
15
escreveremos as iterações na tabela abaixo:
n xn f (xn ) f ′ (xn )
0 -2 3.86466 -4.13533
1 -1.06545 0.79061 -2.47547
2 -0.74607 0.08239 -1.96636
3 -0.70417 0.00133 -1.90285
4 -0.70347 0.000004 -1.90180
Repare que |x4 − x3 | = 0.0007 < 0.001. Assim um valor aproximado da raiz é
x4 = −0.70347.
f (x1 ) − f (x0 )
f ′ (x1 ) ≈ .
x1 − x0
Dessa forma:
f (x1 )
x2 = x1 − h f (x )− f (x ) i
1 0
x1 −x0
Simplificando
x0 f (x1 ) − x1 f (x0 )
x2 = .
f (x1 ) − f (x0 )
x1 f (x2 ) − x2 f (x1 )
x3 = .
f (x2 ) − f (x1 )
16
Figura 5: O Método da Secante.
Exemplo 1.8. Utilize o Método da Secante para determinar uma raiz da equação x3 −
9x + 3 = 0, em [0, 1] com erro relativo menor que 10−3 .
Solução:
O erro relativo para x5x−x
5
4
= 0.00088 é menor que o erro procurado e assim uma
aproximação da raiz é x5 = 0.33760.
17
1.8 Exercı́cios
Exercı́cio 1.1. Localize graficamentemente as raizes da equação ln(x) + 5x − 6 − x2 = 0.
Separe cada uma delas em intervalos de comprimento máximo unitário.
x
(a) 4 cos(x) − e2x = 0; (b) − tan(x) = 0;
2
(a) Mostre que a equação possui uma raiz no intervalo [0.5, 1].
(b) Qual é o número mı́nimos de iterações necessárias para se obter uma aproximação
da raiz com duas casas decimais corretas, usando o Método da Bisseção?
Exercı́cio 1.4. Aplique o Método de Bisseção e da Falsa Posição para calcular a raiz positiva
de x3 − 15 = 0 com erro absoluto ǫ < 0, 01, partindo do intervalo [2.00, 3.00].
Exercı́cio 1.6. Calcular a raiz de 2x3 − cos(x + 1) − 3 = 0, pertencente ao intervalo [−1, 2],
com precisão de 0.01 usando o Método de Bisseção com no máximo 10 passos. Verifique
quantos passos no mı́nimo são necessários para ter uma precisão de 10−8 .
(b) Encontre uma aproximação para uma das raı́zes de p(x) = 0, com precisão de sete
casas decimais, usando o Método de Newton com no máximo 10 passos e x0 = 1.
18
Exercı́cio 1.10. As raı́zes de f (x) = ln(x) − x + 2 podem ser determinadas usando o
processo iterativo na forma xk+1 = φ(xk ), i = 1, 2, .... Encontre as raı́zes considerando:
Exercı́cio 1.11. A função f (x) = xe−x − e−3 , x ∈ R, possui exatamente duas raı́zes reais:
α1 ∈ [0.01, 1] e α2 ∈ [4, 5]. Considere as funções φ1 (x) = ex−3 e φ2 (x) = ln x + 3.
(a) φ1 pode ser usada para aproximar α1 pelo método das aproximações sucessivas
com garantia de convergência? E φ2 ?. Justifique.
(b) φ1 pode ser usada para aproximar α2 pelo método das aproximações sucessivas
com garantia de convergência? E φ2 ?. Justifique.
Exercı́cio 1.12. Mostre que x3 − 2x2 − 5 − sin(x) = 0 tem apenas uma raiz real e determine
seu valor correto até 5 casas decimais usando o Método de Newton, com no máximo 6
iterações. Considere x0 = 2.1.
1 Q
xn+1 = (2xn + 2 ), n = 0, 1, ....
3 xn
é um caso especial do Método de Newton. Aplique o método para calcular a raiz cúbica
de 2 com precisão de 10−2 usando o erro relativo. Considere x0 = 1.
x sin(x) + 3x cos(x) − 2x = 0
19
tem duas soluções no intervalo [−1, 2], sendo uma positiva e a outra negativa. Sejam
(Sk ) e (Pk ), k = 1, 2, ... as sequências de aproximações para as raı́zes de f (x) obtidas pelo
Método da Secante e da Falsa Posição, respectivamente. Considerando S1 = P1 = −1 e
S2 = P2 = 1.5, encontre o valor aproximado de |S5 − P5 | × 100.
Exercı́cio 1.20. Utilize o Método da falsa posição para determinar a raiz da equação x log(x)−
1 = 0, em [2, 3] com ǫ = 10−4 .
Exercı́cio 1.21. Utilize o Método da falsa posição para determinar a raiz da equação x3 −
9x + 3 = 0, em [0, 1] com ǫ = 10−4 .
Exercı́cio 1.22. Utilize o Método da secante para determinar a raiz da equação x3 −9x+3 = 0,
em [0, 1] com ǫ = 10−4 .
Figura 6: Pórtico em L.
Exercı́cio 1.24. Use o Método de Newton para determinar o ponto de mı́nimo global do
polinômio abaixo, se existir tal ponto.
Atenção: Primeiro verifique se existe ou não um ponto de mı́nimo global (isto é, um
ponto α ∈ R tal que p(α) ≤ p(x), ∀x ∈ R). Depois isole os possı́veis candidatos (se
existirem) e só então calcule, pelo método pedido, o ponto de mı́nimo global.
p−1 A
xn+1 = ( )xn + p−1 (1.12)
p pxn
√
p √
4
pode ser utilizada para calcular A. Depois determine 9 com erro menor a 10−6 .
20
Exercı́cio 1.26. Na figura, o comprimento da corda AB é de 4 cm e o comprimento do
arco AB é de 5 cm. Encontre o ângulo central θ, em radianos, correto até a quarta casa
decimal.
Exercı́cio 1.27. Um tanque tem a forma de um cilindro reto, com raio igual a 1 e compri-
mento l. Sua lateral (circular) é transparente e através dela podemos observar o nı́vel do
liquido no cilindro (”deitado”). A porcentagem do liquido no fluido pode ser obtida em
função do ângulo (veja a figura). Por exemplo, o cilindro está cheio quando θ = π e pela
π
metade para θ = 2. Calcule com erro menor de 10−3 o valor de θ para o qual o cilin-
dro tem um quarto de seu volume cheio, através do método de Aproximações sucessivas.
Justifique todos os passos de forma a garantir a convergência.
Exercı́cio 1.28. Um fábrica possui material para confecção de uma lata cilı́ndrica com
área total de superfı́cie de 800 cm2 . Deseja-se uma lata com esta área de superfı́cie e
volume de 1 litro. Determine através de um Método de Aproximações Sucessivas qual o raio
da lata e sua correspondente altura. Efetue 3 iterações do método e estime o número
de iterações necessárias para um erro menor que 10−5 . Justifique a convergência do
método. (Obs: deseja-se a lata mais alta...)
Exercı́cio 1.29. No exemplo (1.1), utilizando o Método de Newton , determine a posição
do Satélite SOHO. Utilize um erro absoluto menor que 10−10 !.
21
2 Interpolação Polinomial
2.1 Introdução
Num sentido amplo, interpolar significa obter informação sobre um evento ou fenômeno
a partir de dados conhecidos. Em nosso caso, queremos obter informação sobre uma
certa função f (x) para a qual só conhecemos o seu valor yi = f (xi ), i = 0, ..., n em n + 1
pontos denotados
x0 < x1 < .... < xn .
Como não conhecemos a expressão da f , podemos tentar encontrar uma função g(x) que
satisfaça as mesmas condições da f (x), ou seja,
Isto é, desejamos encontrar uma função g(x) que coincida com f (x) pelo menos nos
pontos xi . A ideia é que g(x) possa substituir à f (x).
Existem várias justificativas para procurar uma função g(x) que substitua à função
f (x):
(a) Pode ser que não conhecemos f (x) exceto nos pontos xi , então se encontrar-
mos uma função g(x) que coincide com ela nestes pontos, podemos supor g
aproxima f , ou que g comporta-se como f .
(b) Outra razão é quando conhecemos f (x), mas a sua expressão é difı́cil de
trabalhar, por exemplo, de derivar ou integrar. Então se g coincide com f pelo
menos nos pontos xi , podemos fazer as contas com g ao invés de com f .
22
Um exemplo no qual podemos usar interpolação é o seguinte.
Exemplo 2.1. A tabela abaixo mostra a população (em milhões) do Brasil de 1960 a 2010.
Note que um polinômio está definido em toda a reta real R e, além disso, é fácil de
derivar e integrar.
2.2 Preliminares
A pergunta natural então é: É possı́vel encontrar um polinômio que interpola f (x) nos
pontos x0 , x1 , ..., xn ? ou seja, dados (n + 1)-pontos distintos x0 , x1 , ..., xn e suas respectivas
imagens yi = f (xi ), i = 0, 1, ..., n, existirá um polinômio g(x) = P(x) tal que P(xi ) = yi ?
O Teorema abaixo fornece uma resposta à pergunta anterior.
TEOREMA 2.1. Seja f (x) definida em x0 , x1 , ..., xn (n + 1) pontos distintos de um intervalo
[a, b], então existe um único polinômio P(x) de grau menor ou igual a n tal que P(xi ) = f (xi ) = yi ,
para todo i = 0, 1, ..., n.
P(x) = a0 + a1 x + a2 x2 + ... + an xn .
a0 + a1 x0 + ... + an xn0 = y0
a0 + a1 x1 + ... + an xn1 = y1
.. (2.1)
.
a0 + a1 xn + ... + an xnn = yn
Isto é, se o sistema linear anterior tem solução então podemos encontrar um P(x) que
23
interpola f (x) tal que os coeficientes de P(x) são precisamente os valores da solução
do sistema. Logo, é suficiente provar que o sistema tem solução única.
De fato, a matriz do sistema é:
1 x0 ... xn0
xn1
1 x1 ...
A =
.. .. .. ..
. . . .
1 xn ... xnn
n
Y
Det(A) = (xi − x j ) (2.2)
i>j
DEFINIÇÃO 2.3. Sejam x0 , x1 , ..., xn , (n + 1) pontos distintos. Seja k ∈ {0, .., n}. O k-ésimo
polinômio de Lagrange Lk (x) é definido por:
Y x − x
i (x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn )
Lk (x) = =
xk − xi (xk − x0 )(xk − x1 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn )
i,k
24
(A) Lk (xk ) = 1 e Lk (xi ) = 0, se i , k. De fato, substituindo x = xk , o numerador e o
denominados são iguais e assim Lk (xk ) = 1. Por outro lado, substituindo x = xi
com i , k, vemos que o numerador anula-se no fator (x − xi ), e assim Lk (xi ) = 0.
DEFINIÇÃO 2.4. Sejam yi = f (xi ). Então o polinômio de Lagrange de f (x) é dado por
para todo i ∈ {0, 1, ..., n}. Então P(x) interpola f (x), e pela unicidade do Teorema 2.1, P(x)
é o polinômio interpolante de f (x) nos pontos x0 , x1 , · · · , xn
Exemplo 2.2. A seguinte tabela mostra a população (em milhões) mundial de 1970 a
2000.
Ano 1970 1980 1990 2000
População 3710 4450 5280 6080
Solução:
Dos dados, x0 = 1970, x1 = 1980, x2 = 1990 e x3 = 2000; y0 = 3710, y1 = 4450,
y2 = 5280 e y3 = 6080. Definimos os polinômios de Lagrange:
25
O polinômio interpolante é:
as de ordem 1:
f [x1 ] − f [x0 ] f [x2 ] − f [x1 ] f [x3 ] − f [x2 ]
f [x0 , x1 ] = , f [x1 , x2 ] = , f [x2 , x3 ] = ,
x1 − x0 x2 − x1 x3 − x2
26
as de ordem 2:
f [x1 , x2 ] − f [x0 , x1 ] f [x2 , x3 ] − f [x1 , x2 ]
f [x0 , x1 , x2 ] = , f [x1 , x2 , x3 ] = ,
x2 − x0 x3 − x1
e as de ordem 3:
f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ]
f [x0 , x1 , x2 , x3 ] = .
x3 − x0
Podemos organizar as diferenças divididas numa tabela, de modo que as diferenças
divididas de ordem 1 são calculadas a partir das diferenças de ordem 0, as de ordem 2 a
partir das de ordem 1, e assim sucessivamente.
Observação 2.1. Uma propriedade fácil de verificar das diferenças divididas é que
estas não se alteram se permutamos dois valores xi e x j , por exemplo:
f [x1 , x2 ] = f [x2 , x1 ],
Assim foi provado que o coeficiente b0 deve ser igual à diferença dividida f [x0 ]. Da
mesma forma, da igualdade (2.3), P(x1 ) = b0 + b1 (x1 − x0 ), ou, equivalentemente,
Isto é, b1 é a primeira diferença de ordem 1. Continuando com a mesma ideia, como
f (x0 ) = P(x2 ) = b0 + b1 (x2 − x0 ) + b2 (x2 − x0 )(x2 − x1 ), temos que
27
Efetuando algumas operações
f [x2 ] − f [x0 ]
= f [x0 , x1 ] + b2 (x2 − x1 )
x2 − x0
Ou
f [x0 , x2 ] − f [x0 , x1 ]
b2 =
x2 − x1
Pela Observação (2.1), temos
f [x0 , x2 ] − f [x1 , x0 ]
b2 = = f [x1 , x0 , x2 ] = f [x0 , x1 , x2 ]
x2 − x1
Note que para formar o polinômio devemos tomar as diferenças divididas da parte
superior da tabela.
Exemplo 2.3. Um cabo sob ação do seu próprio peso está suspenso entre dois pontos
distantes 24 metros.
12 metros
A parte mais baixa do cabo ficou a 12 metros de altura. Foram medidas diferentes
alturas em vários pontos as quais estão mostradas na tabela abaixo
28
xi yi xi yi
-2 12.16 2 12.16
-7 14.10 7 14.10
-9 15.53 9 15.53
-12 18.51 12 18.51
Solução:
Pela simetria do problema em relação ao eixo y, é suficiente considerar os dados
x0 = 0, x1 = 2, x2 = 7, x3 = 9 e x4 = 12.
P(x) = 12.00 + 0.08(x − 0) + 0.044(x − 0)(x − 2) + 0.0003(x − 0)(x − 2)(x − 7)+ (2.4)
29
2.5 Exercı́cios
Exercı́cio 2.1. Use uma cúbica para determinar uma aproximação para a única raiz
positiva da equação 4 cos(x) − ex = 0.
Exercı́cio 2.2. Considere a função f (x) definida nos pontos, conforme tabela. Determine
o polinômio interpolador, usando a Fórmula de Lagrange, e estime f (0.8).
xi 0 0.5 1.0
f (xi ) 1.3 2.5 0.9
3+x
Exercı́cio 2.3. Considere a função f (x) = 1+x definida nos pontos conforme tabela.
Determine o polinômio interpolador, usando a Fórmula de Lagrange, e estime f (0.25).
xi 1 3 4 5
f (xi ) 0 6 24 60
30
(b) Determinar o polinômio de interpolação usando a Fórmula de Newton sobre três
pontos (interpolação quadrática).
Exercı́cio 2.8. Seja f (x) uma função definida pelos pontos f (−1) = 0, f (0) = 1 e f (2) = −1.
Usando a forma de Newton, encontre o polinômio p(x) que interpola a função f .
f (0.2) = 0.16, f (0.34) = 0.22, f (0.4) = 0.27, f (0.52) = 0.29, f (0.6) = 0.32, f (0.72) = 0.37.
Exercı́cio 2.12. Sabendo-se que a equação x4 + 6x2 − 1 = 0 tem uma raiz em [0, 1],
determinar o valor aproximado dessa raiz usando polinômio de Interpolação de Newton
sobre três pontos.
R∞
e−t
Exercı́cio 2.13. A função y = x t dt é dada pela tabela:
Exercı́cio 2.14. Dada a tabela abaixo, calcule e3.1 usando um polinômio de interpolação
sobre três pontos:
31
Exercı́cio 2.15. Construa a tabela de diferenças divididas para a função f (x) com os
dados:
f (0) = 0, f (0.5) = −2.241, f (1.0) = −1.65, f (1.5) = −0.594, f (2) = 1.34, f (2.5) = 4.564
f (0.40) = 1.51, f (0.45) = 1.49, f (0.50) = 1.47, f (0.55) = 1.44, f (0.60) = 1.42.
Exercı́cio 2.19. A seguinte tabela mostra a população do Brasil de 1960 a 2010. Encontre
um polinômio interpolador de grau 5 e estime a população nos anos 1955, 1975 e 2012.
32
A população em 2012 foi aproximadamente 198.656 milhões. Quão precisas você acha
que são as aproximações nos anos 1955 e 1975?
33
3 Resolução Numérica de Sistemas Lineares
3.1 Introdução
Nesta seção estudaremos técnicas para resolver sistemas lineares:
Ax = b (3.2)
3.2 Preliminares
Existem dois tipos de sistemas lineares que são fáceis de resolver: Os sistemas triangu-
lares Inferiores e os sistemas triangulares Superiores.
Usaremos a letra L (de lower=inferior em inglês) para uma matriz triangular inferior
e U (de upper=superior em inglês) para uma matriz triangular superior.
São aqueles sistemas Lx = b na qual todos os termos que estão acima da diagonal de
L = (li j ) são 0:
l11 x1 = b1
l21 x1 +l22 x2 = b2
.. .. .. . (3.3)
. . . = ..
ln1 x1 +ln2 x2 · · · +lnn xn = bn
34
Exemplo 3.1. Resolva o sistema
3x1 = 1
x1 +5x2 = 1 (3.4)
2x1 −x2 +2x3 = 3
Solução:
1 2
x2 = (1 − x1 )/5 = (1 − )/5 = .
3 15
2 2 26
x3 = (3 − 2x1 + x2 )/2 = (4 − + )/2 = .
3 15 15
Observação 3.1. A solução geral de um sistema triangular inferior como (3.3), é dada
pelas fórmulas:
bi − i−1
P
b1 j=1 li j x j
x1 = , e xi = , para todo i = 2, ..., n
l11 lii
São aqueles sistemas Ux = b na qual todos os termos que estão abaixo da diagonal de
U = (ui j ) são 0:
35
Solução:
3 3
x2 = (−3 + x3 )/4 = (−3 + )/4 = − .
2 8
9 9 59
x1 = (4 + 3x3 − 3x2 )/2 = (4 + + )/2 = .
2 8 16
Observação 3.2. A solução geral de um sistema triangular superior como (3.5), é dada
pelas fórmulas:
Pn
bn bi − j=i+1 ui j x j
xn = , e xi = , para todo i = 1, ..., n − 1. (3.7)
unn uii
Ax = b1 , Ax = b2 , ..., Ax = bp ,
por eliminação Gaussiana, em que todos os sistemas tem a mesma matriz A, teremos que
repetir o método da eliminação para cada vetor coluna b. Isto traz como consequência o
uso de uma grande quantidade de memória para armazenar os dados de cada sistema.
Uma maneira de evitar esse consumo de memória é utilizando o Método da De-
composição LU, que é mais eficiente pois permite calcular a decomposição sem usar os
vetores coluna b.
Antes de descrever o método, apresentaremos um exemplo.
36
Solução:
Repare que o sistema pode-se escrever na forma Ax = b, em que A = LU, sendo L
uma matriz triangular inferior e U uma matriz triangular superior.
2 0 3 −4
, b = 5
L = , U =
−3 3 0 −6 −3
y1
Fazendo := Ux, concluimos que encontraremos a solução do sistema se
y2
resolvemos os dois sistemas:
2 0 y1 5
, e 3 −4 x1 = y1
=
−3 3 y −3 0 −6 x y
2 2 2
5
O primeiro sistema tem solução y1 = 3 e y2 = (−3 + 3y1 )/3 = (−3 + 5)/3 = 32 . Tendo
estes valores, podemos encontrar os valores de x1 e x2 no segundo sistema. Assim,
2
−6x2 = y2 = 3 então x2 = − 91 , e x1 = (y1 + 4x2 )/3 = ( 53 − 94 )/3 = 11
27 .
Observação 3.3. O Exemplo (3.3) mostra que se por acaso podemos decompor a
matriz A como produto de duas matrizes triangulares A = LU (em que L triangular
inferior e U triangular superior), então a resolução do sistema Ax = b se reduz a
resolução de dois sistemas:
Ly = b que é triangular inferior, e
Ux = y
que é triangular superior.
Assim, a pergunta natural é: Quando uma matriz A pode ser decomposta como produto
de duas matrizes LU, em que L é triangular inferior e U é triangular superior? ou, toda
matriz A tem decomposição LU?
Para responder estas questões, precisamos da seguinte definição.
37
Exemplo 3.4. Encontre os menores principais da matriz:
1 −2 3
A = −2 3 −5
−2 2 4
Solução:
1 −2
Pela definição ∆1 = Det(a11 ) = 1, ∆2 = Det = −1.
−2 3
em que r é um vetor linha e s é um vetor coluna. Dado que Ak−1 é uma matriz de
ordem k − 1 que, pela hipótese, pode ser decomposta na forma Ak−1 = Lk−1 Uk−1 .
Defina as matrizes
, e U = Uk−1
Lk−1 0 L−1
k−1
s
L = −1
(3.9)
rUk−1 1 0 akk − rUk−1 L−1
−1
k−1
s
38
Observação 3.4. Da prova do Teorema (3.1) podemos concluir que:
Solução:
Os menores principais são ∆1 = 1 e ∆2 = −2. Como ambos são distintos do 0, existe
a decomposição LU.
Sejam
1 0 0 u11 u12 u13
L = l21 1 0 , U = 0 u22 u23
l31 l32 1 0 0 u33
Da equação A = LU, obtemos
1 −3 1 1 0 0 u11 u12 u13
= l
21 1 0 0 u22 u23
2 −8 8
−6 3 −15 l31 l32 1 0 0 u33
39
de U:
l21 u11 = 2, l31 u11 = −6 então l21 = 2, l31 = −6.
l21 u12 + u22 = −8, l21 u13 + u23 = 8, então u22 = −2, u23 = 6.
15
l31 u12 + l32 u22 = 3, então l32 =
2
Ly = b, e Ux = y, ou
1 0 0 y1 4 1 −3 1 x1 y1
2 1 0 y2 = −2 e 0 −2 6 x2 = y2
15
−6 1 y3 9 0 0 −54 x3 y3
2
15y2
Do primeiro sistema y1 = 4, y2 = (−2 − 2y1 ) = −10, e y3 = (9 + 6y1 − 2 ) = 108. Por
fim, com os valores dos yi , encontramos a solução:
108
x3 = − = −2, x2 = (y2 − 6x3 )/(−2) = −1, e x1 = (y1 + 3x2 − x3 ) = 3.
54
i−1
X
ui j = ai j − lik uk j , para i, j = 1, ..., n, i ≤ j.
k=1
começando com i = 1, e
P j−1
ai j − l u
k=1 ik k j
li j = , para i, j = 1, ..., n, i ≥ j.
ujj
começando com j = 1.
40
3.4 Método Iterativo: O método de Gauss-Seidel
Assim como nos métodos de resolução de equações não lineares usavamos métodos
iterativos para encontrar uma solução aproximada, nesta seção apresentaremos um
método iterativo para resolver sistemas lineares. Este método é chamado Método de Gauss-
Seidel e permite determinar uma solução aproximada de um sistema linear.
A ideia central por traz dos métodos iterativos é escrever o problema na forma
x = φ(x),
Solução:
x1 − x62 − x63 = 1
2
2x1
3 +x2 + x93 = 40
9
− x41 x2
+ 12 +x3 = 25
6
Repare que este sistema tem a forma x = φ(x). Assim, podemos utilizar o método
iterativo
(k) (k)
(k+1) 1 x2 x3
x1 = 2 + 6 + 6
(k) (k)
(k+1) 2x x3
x2 = − 31 + 40 − , (3.10)
9 9
(k) (k)
(k+1) x1 x2 25
x3 = 4 − 12 + 6
41
coluna. Da primeira equação:
(0) (0)
(1) 1 x2 x 1 0 0 1
x1 = + + 3 = + + = .
2 6 6 2 6 6 2
(1)
O ponto central: se já temos uma aproximação x1 de x1 , podemos utilizá-la para
(1) (0) (1)
determinar a aproximação x2 de x2 , substituindo x1 por x1 na segunda equação
de (3.10):
(1) (0)
(1)
2x1 40 x3 2(1/2) 40 0 37
x2 = − + − =− + − = = 4.11111
3 9 9 3 9 9 9
(0) (1) (0) (1)
Seguindo esta ideia, podemos substituir x1 por x1 e x2 por x2 na terceira equação
de (3.10):
(1) (1)
(1)
x1 x2 25 (1/2) (37/9) 25
x3 = − + = − + = 3.94907.
4 12 6 4 12 6
Logo, o processo iterativo, na iteração k, pode ser modificado ao seguinte:
(k) (k)
(k+1) 1 x2 x
x1 = + + 3
2 6 6
(k+1) (k)
(k+1)
2x1 40 x3
x2 =− + −
3 9 9
(k+1) (k+1)
(k+1)
x1 x2 25
x3 = − +
4 12 6
Se k = 1 então
(1) (1)
(2) 1 x2 x 1 4.11111 3.94907
x1 = + + 3 = + + = 1.84336
2 6 6 2 6 6
(2) (1)
(2)
2x1 40 x3 2(1.84336) 40 3.94907
x2 =− + − =− + − = 2.77675
3 9 9 3 9 9
(2) (2)
(2)
x1 x2 25 1.84336 2.77675 25
x3 = − + = − + = 4.39611.
4 12 6 4 12 6
(3) (3) (3)
Para k = 2 obtemos x1 = 1.69547, x2 = 2.82567 e x3 = 4.35506.
42
3.4.1 O Caso Geral
Tendo como base o Exemplo (3.6), escreveremos as fórmulas para o caso geral. Considere
um sistema de equações lineares:
que pode ser escrito na forma Ax = b, em que A = (ai j ), b = (bi ). Suponha aii , 0 para
todo i = 1, ..., n, então podemos dividir cada equação pelo correspondente elemento da
diagonal. Então o sistema converte-se a:
aij bi
em que a∗i j = aii para todo i, j = 1, ..., n e b∗i = aii , para todo i = 1, ..., n. O sistema
anterior pode-se escrever na forma A∗ x = b∗ , em que A∗ = (a∗i j ). Esta matriz A∗ pode ser
decomposta na forma
A∗ = L∗ + I + R∗ (3.13)
em que L∗ = (l∗i j ) é uma matriz triangular inferior com os elementos da diagonal iguais a
0, I é a matriz identidade e R∗ = (r∗i j ) é uma matriz triangular superior com os elementos
da diagonal iguais a 0. Ou seja,
a a
ij ij
∗
aii
sei > j ∗
aii
sei < j
li j = e ri j =
0
se i ≤ j 0
se i ≥ j
(L∗ + I + R∗ )x = b∗
43
Acostuma-se escrevê-lo na forma
Só falta fornecer condições sobre as quais a sequência x(k) converge para a solução do
sistema linear Ax = b. Dois critérios são os mais utilizados.
max{βi } < 1
1≤i≤n
em que
X i−1
X n
X
βi = |a∗i j | = |a∗i j | + |a∗i j |, ∀i = 1, ..., n
j,i j=1 j=i+1
max{βi } < 1
1≤i≤n
em que
i−1
X n
X
βi = |a∗i j |β j + |a∗i j |, ∀i = 1, ..., n.
j=1 j=i+1
44
O método de Gauss-Seidel para se atingimos os seguintes erros
• Erro Absoluto. Se
(k+1) (k)
max |xi − xi | < ǫ. (3.14)
1≤i≤n
• Erro Relativo. Se
(k+1) (k)
|xi − xi |
max (k+1)
< ǫ. (3.15)
1≤i≤n |xi |
ou seja, se cada componente atinge um erro relativo menor que ǫ.
Solução:
Dividindo entre os coeficientes da diagonal obtemos:
x1 − 31 x2 + 91 x3 = 2
9
− 25 x1 +x2 + 53 x3 = − 15
1
7 x1 − 27 x2 +x3 = − 73
Repare que o método das linhas não é satisfeito, pois os coeficientes são:
1 1 4 2 3 1 2 3
β1 = + = , β2 = + = 1 e β3 = + =
3 9 9 5 5 7 7 7
e então max1≤i≤n βi = 1. Assim, o critério das linhas não fornece informação sob a
convergência.
Mas, o critério de Sassenfeld é satisfeito pois:
1 1 4
β1 = + = < 1,
3 9 9
2 4 3 7
β2 = ( )( ) + = < 1,
5 9 5 9
1 4 2 7 2
β3 = ( )( ) + ( )( ) = < 1.
7 9 7 9 7
45
Dessa forma, o método de Gauss-Seidel, dado pelo processo iterativo:
(k) (k)
(k+1) 2 x2 x
x1 = + − 3
9 3 9
(k+1) (k)
(k+1)
2x1 1 3x
x2 =+ − − 3
5 5 5
(k+1) (k+1)
(k+1)
x1 2x2 3
x3 =− + −
7 7 7
com condição inicial x(0) = (0, 0, 0), é convergente. As aproximações estão tabeladas
abaixo.
46
3.5 Exercı́cios
Exercı́cio 3.1. Para cada um dos sistemas lineares seguintes, obtenha uma solução por
meio de um gráfico, se possı́vel for. Explique os resultados do ponto de vista geométrico.
2x1 + 3x2 + x3 − x4 = 6, 9 x + y + 2z + 4t = 7, 12
x1 + x2 + x3 = −1
−x1 + x2 − 4x3 + x4 = −6, 6 2x + 5y + z + 2t = 14, 90
(a) 3x1 + 2x2 − 2x3 = 2 (b) (c)
x1 + x2 + x3 + x4 = 10, 2 x + y + 5z + 6t = 12, 02
4x1 + 3x2 − 4x3 = 7
4x1 − 5x2 + x3 − 2x4 = −12, 3 4x + 6y + 2z + t = 20, 72
x1 + x2 + 2x3 + 4x4 = 7, 12
2x1 + 5x2 + x3 + 2x4 = 14, 90
x1 + x2 + 5x3 + 6x4 = 12, 02
4x1 + 6x2 + 2x3 + x4 = 20, 72
5x1 + 2x2 + x3 = 7
−x1 + 4x2 + 2x3 = 3
2x1 − 3x2 + 10x3 = −1
(b) Se possı́vel, resolvê-lo pelo método do item (a), obtendo o resultado com erro
absoluto < 10−2 .
(b) Caso haja convergência garantida, resolva os sistemas dados pelo Método Iterativo
(0) (0) (0)
de Gauss-Siedel com (x1 , x2 , x3 ) = (0.1, 0.2, 0.5) e ǫ = 0.01.
47
Exercı́cio 3.6. Dados os sistemas lineares:
mostrar que, reordenando as equações e incógnitas, podemos fazer com que o critério
de Sassenfeld seja satisfeito, mas não o critério das linhas. Resolva-os.
48
4 Integração Numérica
4.1 Introdução
Cada vez que descrevemos um problema utilizando derivadas podemos inferir que a
solução do mesmo envolve integrais do tipo
Z b
I( f ) = f (x)dx (4.1)
a
em que f : [a, b] → R é uma função contı́nua no intervalo [a, b] com valores nos números
reais. Estudando as técnicas de integração do Cálculo, sabemos que existem funções f (x)
para as quais não existe uma integral em termos de funções elementares. Por exemplo,
as seguintes integrais são difı́ceis de calcular
Z Z
sin(x) 2
dx, e−x dx.
x
Exemplo 4.1. Um radar foi usado para medir a velocidade de um corredor durante os
primeiros 5 segundos de uma corrida (Veja a tabela ). Estime a distância que o corredor
cobriu durante aqueles 5 segundos.
Note que só conhecemos a função v(t) em 10 pontos, mas mesmo assim, desejamos
determinar o valor aproximado da integral
Z 5
v(t)dt,
0
49
4.2 Preliminares
Considere uma função contı́nua f : [a, b] → R definida num intervalo [a, b].
A ideia básica da integração numérica é obter I( f ) via interpolação. Isto é, primeiro
aproximar f (x) por um polinômio interpolante Pn (x) de grau n em [a, b], um polinômio
sobre n + 1 pontos x0 = a, x1 , ..., xn−1 , xn = b tais que a separação entre eles é dada por
b−a
h= ,
n
Uma vez feita a aproximação, fica ainda o estudo do erro cometido no processo de
aproximar. Este erro pode ser estudado com a equação:
50
em que f [x0 , x1 , ..., xn , x] é a diferença dividida de ordem (n + 1).
Integrando a igualdade (4.2) entre a e b:
Z b Z b
I( f ) = Pn (x)dx + Rn (x),
a a
Repare que pode-se escrever o resto na forma Rn (x) = ψ(x) f [x0 , x1 , ..., xn , x] em que
Usando o Teorema de Rolle, pode-se mostrar que existe um ξ ∈ [a, b] tal que
f (n+1) (ξ)
f [x0 , x1 , ..., xn , x] = .
(n + 1)!
xn
f (n+1) (ξ)
Z
En = ψ(x)dx. (4.3)
x0 (n + 1)!
em que
n o
K = max | f (n+1) (x)| : x0 ≤ x ≤ xn .
n f (n+1) (ξ) o Z xn K
Z xn
|En | ≤ max | |, ξ ∈ [x0 , xn ] |ψ(x)|dx ≤ |ψ(x)|dx.
(n + 1)! x0 (n + 1)! x0
pela definição de K.
51
Observação 4.1. Pela Proposição 4.1, é suficiente estudar o comportamento de
Z xn
|ψ(x)|dx (4.5)
x0
para determinar um limitante superior do erro En . Aqui vamos trabalhar dois casos:
(a) Caso 1: Se ψ(x) ≥ 0 para todo x ∈ [x0 , xn ], ou se ψ(x) ≤ 0 para todo x ∈ [x0 , xn ].
R xn
(b) Caso 2: Se ψ(x) satisfaz x ψ(x)dx = 0.
0
xi yi ordem 0 ordem 1
x0 y0 y0
y1 −y0
h
x1 y1 y1
y1 − y0
P1 (x) = y0 + (x − x0 )
h
52
Desenvolvendo as contas da última integral e fazendo x = x0 + u, obtemos:
Z hh y1 − y0 i h h
I( f ) ≈ y0 + u du = [y0 + y1 ] = [ f (x0 ) + f (x1 )].
0 h 2 2
h
I( f ) ≈ [ f (x0 ) + f (x1 )].
2
Note que ψ(x) = (x − x0 )(x − x1 ), então ψ(x) ≤ 0 para todo x ∈ [x0 , x1 ]. Isto implica que
|ψ(x)| = −ψ(x) = (x − x0 )(x1 − x) para todo x ∈ [x0 , x1 ]. Pela fórmula (4.4) para o erro E1
obtemos Z x1
K
|E1 | ≤ (x − x0 )(x1 − x)dx,
(1 + 1)! x0
em que
K = max{| f (2) (x)| : x0 ≤ x ≤ x1 }.
h
h3
Z
K
|E1 | ≤ u(h − u)du = max{| f (2) (x)| : x0 ≤ x ≤ x1 }.
(2)! 0 12
Resumindo:
A aproximação de I( f ) dada pela Regra do Trapézio é
h
I( f ) ≈ [ f (x0 ) + f (x1 )]. (4.6)
2
h3
|E1 | ≤ max{| f (2) (x)| : x0 ≤ x ≤ x1 }. (4.7)
12
Exemplo 4.2. Usando a Regra dos Trapézios, encontre uma aproximação da integral
Z 2
1
dx
1 x
53
e determine um limitante superior para o erro cometido ao aproximar a integral.
Solução:
Definimos x0 = a = 1 e x1 = b = 2 e então h = x1 − x0 = 1. Assim, f (x0 ) = f (1) = 1 e
f (x1 ) = f (2) = 0, 5. Por tanto, a aproximação da integral dada pela fórmula (4.6) é:
1
I( f ) ≈ [1 + 0, 5] = 0, 75.
2
2
Para determinar o limitante superior do erro precisamos da derivada f (2) (x) = x3
.
Assim
2 2
max{| f (2) (x)| : x0 ≤ x ≤ x1 } = max{ 3
: 1 ≤ x ≤ 2} = = 2.
x 1
Por tanto, pela inequação (4.7),
13 2
|E1 | ≤ (2) = = 0, 16666.
12 12
para logo aplicar a regra dos trapézios em cada sub-intervalo Ii para i = 1, ..., n. Desse
modo, a integral I( f ) será aproximada pela soma das integrais em cada sub-intervalo
calculadas utilizando a regra do trapézio. A figura abaixo apresenta o caso de 5 sub-
intervalos.
54
A aproximação no intervalo Ii é dada por
h
Ai = [ f (xi−1 ) + f (xi )].
2
I( f ) ≈ A1 + A2 + .... + An
Substituindo os valores:
h h h
I( f ) ≈ [ f (x0 ) + f (x1 )] + [ f (x1 ) + f (x2 )] + .... + [ f (xn−1 ) + f (xn )]
2 2 2
Simplificando
n−1
h X
I( f ) ≈ [ f (x0 ) + 2 f (xi ) + f (xn )] (4.8)
2
i=1
O erro na Regra do Trapézios Generalizada é limitado pela soma dos erros em cada
subintervalo Ii . Denotemos por E(i) o erro no intervalo Ii , e então, pela inequação 4.7,
h3
|E(i)| ≤ max{| f (2) (x)| : xi−1 ≤ x ≤ xi }, ∀i = 1, ..., n.
12
h3
|E| ≤ E(1) + E(2) + ... + E(n) ≤ n max{| f (2) (x)| : x0 ≤ x ≤ xn }.
12
h2
|E| ≤ (xn − x0 ) max{| f (2) (x)| : x0 ≤ x ≤ xn }. (4.9)
12
55
Solução:
√
2−0
Dos dados f (x) = 1 + x2 , h = 4 = 0, 5 e x0 = 0, x1 = 0, 5, x2 = 1, x3 = 1, 5, x4 = 2.
Pela fórmula
Z 2 √ 3
2
h X
I( f ) = 1 + x dx ≈ [ f (x0 ) + 2 f (xi ) + f (x4 )]
0 2
i=1
deduzimos
0, 5
I( f ) ≈ [ f (x0 ) + 2( f (x1 ) + f (x2 ) + f (x3 )) + f (x4 )].
2
Substituindo os valores dos f (xi ) obtemos:
0, 5
I( f ) ≈ [1 + 2(1, 1180 + 1, 4142 + 1, 8027) + 2, 2360] = 2, 9763
2
1
Observe que f (2) (x) = (1+x2 )3/2
e
1
max{| f (2) (x)| : 0 ≤ x ≤ 2} = max{ : 0 ≤ x ≤ 2} = 1
(1 + x2 )3/2
Dessa forma
(0.5)2
|E| ≤ (2 − 0)(1) = 0, 0416.
12
1
4.4 Regra 3
de Simpson
A Regra 1/3 de Simpson ocorre quando o polinômio interpolante Pn (x) tem grau n = 2.
Ou seja, f (x) é aproximada por uma parábola. Definamos
b−a
h= , e , x0 = a, x1 = a + h, x2 = b.
2
e
y0 = f (x0 ), y1 = f (x1 ), y2 = f (x2 ).
56
Figura 15: Aproximação usando um polinômio de grau 2
y0 − y1 y2 − 2y1 + y0
P2 (x) = y0 + (x − x0 ) + (x − x0 )(x − x1 ).
h 2h2
Integrando entre x0 e x1 e fazendo a mudança de variável x = x0 + u obtemos
Z x2 Z 2h
y0 − y1 y2 − 2y1 + y0
P2 (x)dx = [y0 + u+ u(u − h)]du.
x0 0 h 2h2
Desenvolvendo as contas:
Z x1
h
P2 (x)dx = [y0 + 4y1 + y2 ].
x0 3
Logo,
h
I( f ) ≈ [ f (x0 ) + 4 f (x1 ) + f (x2 )]
3
.
57
Procedemos da seguinte maneira para estimar o erro cometido. Acrescentamos um
ponto artificial x3 := x1 ao conjunto de pontos x0 , x1 , x2 e determinaremos o polinômio
interpolante P∗ (x) que é definido pelos pontos
x0 , x1 , x2 , x3 .
Inferimos que aproximar I( f ) pela integral de P2 (x) é igual a aproximá-la pela integral
de P∗ (x). Por tanto, o erro cometido usando P2 (x) é igual ao erro cometido usando P∗ (x).
Assim, é suficiente determinar o erro para P∗ (x) que é um polinômio de grau 3 = 2 + 1.
Isto é, devemos realizar a mesma análise da seção (4.2.1) para P∗ (x). Então definindo a
função
ψ∗ (x) = (x − x0 )(x − x1 )(x − x2 )(x − x1 ) = (x − x0 )(x − x1 )2 (x − x2 )
f (4) (ξ) ∗
∗
f (x) = P (x) + ψ (x)
4!
Desse modo,
x2 x2 x2
f (4) (ξ) ∗
Z Z Z
∗ K
|E| = | ( f (x) − P (x))dx| ≤ | ||ψ (x)|dx ≤ |ψ∗ (x)|dx (4.12)
x0 x0 4! 4! x0
58
n o
em que K = max | f (4) (x)| : x0 ≤ x ≤ x2 . Como ψ∗ (x) ≤ 0 para todo x ∈ [x0 , x2 ],
|ψ∗ (x)| = −ψ∗ (x) em [x0 , x2 ]. Fazendo a mudança x = u + x0 e integrando
x2 2h
4h5
Z Z
|ψ∗ (x)|dx = − u(u − h)2 (u − 2h)du =
x0 0 15
h5 n o
|E| ≤ max | f (4) (x)| : a ≤ x ≤ b
90
pela regra 1/3 de Simpson e determine um limitante superior para o erro cometido ao
realizar a aproximação.
Solução:
2−1
Neste exemplo h = 2 = 0, 5, x0 = 1, x1 = 1, 5, x2 = 2 e
n o n2 o
max | f (4) (x)| : 1 ≤ x ≤ 2 = max 2 : 1 ≤ x ≤ 2 = 2.
x
Por tanto, um limitante superior para o erro é dado por
(0, 5)5
|E| ≤ (2) = 0, 00069.
90
59
4.4.2 Regra 1/3 de Simpson Generalizada
x0 = a, x1 = a + h, x2 = a + 2h, ..., xn = b.
A cada dois intervalos I2j−1 e I2j podemos aplicar a Regra 1/3 de Simpson obtendo
uma aproximação da integral de f (x) no intervalo I2j−1 ∪ I2 j :
Z x2 j
h
f (x)dx ≈ [ f (x2j−2 ) + 4 f (x2j−1 ) + f (x2j )] = A j , ∀ j = 1, ..., n/2.
x2j−2 3
Assim a integral I( f ) será aproximada pela soma das aproximaçãos sobre estes intervalos:
Z xn
f (x)dx ≈ A1 + A2 + ... + An/2
x0
ou
Z xn
h h h
f (x)dx ≈ [ f (x0 )+4 f (x1 )+ f (x2 )]+ [ f (x2 )+4 f (x3 )+ f (x4 )]+...+ [ f (xn−2 )+4 f (xn−1 )+ f (xn )].
x0 3 3 3
60
Como o erro total é menor que a soma dos n/2 erros individuais, segue que
n h5 n o
|E| ≤ . max | f (4) (x)| : a ≤ x ≤ b
2 90
h4 n o
|E| ≤ (xn − x0 ) max | f (4) (x)| : a ≤ x ≤ b . (4.14)
180
Solução:
Repare que para satisfazer a condição desejada, é suficiente que:
h4 n o
(xn − x0 ) max | f (4) (x)| : a ≤ x ≤ b < 10−6 (4.15)
180
π/6 π
Note que h = n = 6n e f (4) (x) = −2(3sec4 (x) − 2sec2 (x)). Então:
n o n o
max | f (4) (x)| : 0 ≤ x ≤ π/6 = max | − 2(3sec4 (x) − 2sec2 (x))| : 0 ≤ x ≤ π/6 = 2
Substituindo em (4.15),
h4 π
(π/6 − 0).2 < 10−6 =⇒ h < 0, 11450 =⇒ < 0, 11450
180 6n
i 0 1 2 3 4 5 6
π π π π 5π π
xi 0 36 18 12 9 36 6
f (xi ) 0 -0.003812 -0.015308 -0,034668 -0,062202 -0,098376 -0,143841
61
Pela regra 1/3 de Simpson Generalizada
Z π
6 π/36
ln(cos x)dx ≈ [0 + 4(−0.003812 − 0.034668 − 0, 098376)+
0 3
Então Z π
6
ln(cos x)dx ≈ −0, 024617.
0
3
4.5 Regra 8
de Simpson
3
Como era de esperarse, a regra 8 de Simpson é obtida aproximando f (x) por um po-
linômio P3 (x) de grau n = 3. Supondo que desejamos aproximar
Z b
I( f ) = f (x)dx,
a
b−a
definimos h = 3 , os pontos
x0 = a, x1 = a + h, x2 = a + 2h, x3 = b,
e suas imagens
y0 = f (x0 ), y1 = f (x1 ), y2 = f (x2 ), y3 = f (x3 ).
Fazendo uma análise similar à aquela feita nos casos anteriores, deduzimos que a
aproximação de I( f ) é dada por
62
Z b
3h
I( f ) = f (x)dx ≈ [ f (x0 ) + 3 f (x1 ) + 3 f (x2 ) + f (x3 )] (4.16)
a 8
Como nos casos anteriores podemos provar que o erro E na regra 3/8 de Simpson é
limitado por
3h5 n o
|E| ≤ max | f (4) (x)| : a ≤ x ≤ b (4.17)
80
Utilize a regra 3/8 de Simpson para aproximar a integral e encontre um limitante superior
para o erro.
Solução:
30−8 22
Dos dados temos que h = 3 = 3. Os pontos e suas imagens estão tabelados
abaixo:
i 0 1 2 3
46 68
xi 8 3 3 30
f (xi ) 177,2667 372,4629 608,8976 901,6740
Então Z 30 1400
[2000 ln − 9, 8x]dx ≈ 11063, 3104.
8 1400 − 21x
63
Para determinar o limitante superior do erro, precisamos de
2.3.214 .2000
f (4) (x) = .
(1400 − 21x)4
Assim
n o n 2.3.214 .2000 o
max | f (4) (x)| : 8 ≤ x ≤ 30 = max : 8 ≤ x ≤ 30 = f (4) (30) = 0, 0063889
(1400 − 21x)4
3 22 5
|E| ≤ .( ) .(0, 0063889) = 5, 081178. (4.18)
80 3
Para utilizarmos a Regra 3/8 de Simpson Generalizada precisamos que n seja múltiplo
de 3. Com isto podemos agrupar cada três intervalos e aplicar a regra 3/8 de Simpson a
cada grupo. Definindo
b−a
h= , x0 = a, ..., xi = a + ih, ..., xn = b
n
então I( f ) é aproximada pela soma dos n/3 grupos e pode-se mostrar que
Z b
3h X X
f (x)dx ≈ [ f (x0 ) + 3 f (xi ) + 2 f (xi ) + f (xn )]. (4.19)
a 8
i,3k i=3k
Já o cálculo do erro da Regra 3/8 de Simpson Generalizada segue considerando que
o erro total é menor que os erros individuais dos n/3 grupos:
n 3h5 n o
|E| ≤ . max | f (4) (x)| : a ≤ x ≤ b ,
3 80
h4 n o
|E| ≤ (xn − x0 ) max | f (4) (x)| : a ≤ x ≤ b , (4.20)
80
Exemplo 4.7. Um fluido atravessa a secção de um tubo com uma velocidade v(r), sendo r
a distância radial ao centro da secção. Determine a quantidade Q do fluido que atravessa
64
esta secção por unidade de tempo, dada por
Z r0
Q = 2π rv(r)dr
0
Solução:
Dos dados h = 0.5 e n = 9. Repare que a função a integrar é f (r) := rv(r); a tabela
abaixo corresponde aos valores de f (r):
i 0 1 2 3 4 5 6 7 8 9
ri 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
f (ri ) 0 1,47495 2,8942 4,2468 5,5168 6,4105 7,2597 7,6947 8.4004 0
3(0, 5)
Q ≈ 2π. [0 + 3(1, 47495 + 2, 8942 + 5, 5168 + 6, 4105 + 7, 6947 + 8, 4004)+
8
65
4.6 Exercı́cios
Exercı́cio 4.1. Aproxime as seguintes integrais usando:
66
R2 2
Exercı́cio 4.9. Calcule o valor aproximado de 0
e−x dx usando n = 6 e (a) a regra dos
trapézios generalizada, (b) a regra 1/3 de Simpson e (c) a regra 3/8 de Simpson. Em cada caso
determine um limitante superior para o erro.
Exercı́cio 4.10. Um radar foi usado para medir a velocidade de um corredor durante os
primeiros 5 segundos de uma corrida (Veja a tabela ). Use a regra 1/3 de Simpson para
estimar a distância que o corredor cobriu durante aqueles 5 segundos.
Exercı́cio 4.11. A figura mostra um pêndulo com comprimento L que forma um ângulo
máximo de θ0 com a vertical. Usando a Segunda Lei de Newton, pode ser mostrado que
o perı́odo T (o tempo para um ciclo completo) é dado por
s Z π
L 2 dx
T=4 (4.21)
g 0
q
1 − k2 sin2 (x)
R1
x
Exercı́cio 4.12. Seja a integral I = 0 1+x2
dx.
67
Encontre um valor aproximado do perı́metro de uma elipse com semi-eixos a = 2 e b = 1
usando as Regras de Simpson com n = 6.
t − π3 − π6 0 π
6
π
3
1 3 3 1
f (t) e4 e4 e e 4 e4
(b) Delimite o erro cometido na integração numérica efetuada na parte (a), sabendo
que no intervalo − π3 ≤ t ≤ π
3 temos | f (4) (t)| ≤ 20e.
68
5 Resolução Numérica de Equações Diferenciais Ordinárias
5.1 Introdução
Muitas leis na ciência são baseados em modelos que explicam variações de propriedades
e estados de sistemas descritos por equações diferenciais. Estas equações aparecem em
ciência e engenharia, mas também em economia, ciências sociais, biologia, negocios,
etc. Por isso, estudar as técnicas para resolvê-las tem-se convertido em uma matéria
fundamental, senão obrigatória, para quem deseja abordar, fórmular ou resolver os
problemas que estas áreas apresentam.
5.2 Preliminares
Uma equação diferencial ordinária (edo) de primeira ordem é uma equação da forma
y′ = f (x, y)
dy
em que f : R2 → R é uma função contı́nua, e y′ = dx é a derivada de y em relação a x.
Resolver esta equação consiste em determinar uma solução y = φ(x), ou seja, encontrar
uma função φ que satisfaz
φ′ (x) = f (x, φ(x)).
φ(xn ) ≈ yn
e supor, então que os pontos (xn , yn ) definem aproximadamente φ. Desse modo uma
boa aproximação de φ é a função que interpola estes pontos.
Seja N + 1 o número de pontos. Suponha que os pontos xn , n = 0, 1, ..., N são igual-
mente espaçados, isto é
xN − x0
xn = x0 + nh, ∀n = 0, 1, ..., N, e h = .
N
Cada método numérico para resolver o problema de valor inicial depende da forma
69
Figura 19: Interpretação geométrica da solução numérica.
K = φ′ (x0 ).
Mas φ(x) é solução do PVI, então φ′ (x0 ) = f (x0 , y0 ). Como no Método de Euler a reta
tangente L aproxima φ temos que:
70
Lembrando que h = x1 − x0 , concluimos que
y1 = y0 + h f (x0 , y0 ).
Tendo determinado a aproximação (x1 , y1 ), podemos supor que o PVI possui agora
a condição inicial (x1 , y1 ). Com ela podemos determinar a seguinte aproximação y2 .
Fazendo a mesma análise, obtem-se
y2 = y1 + h f (x1 , y1 ).
Use N = 4.
Solução:
1−0
h= = 0, 25; x0 = 0; x1 = 0, 25; x2 = 0, 5; x3 = 0, 75 e x4 = 1.
4
y1 = 2 + 0, 25(03 − 2) = 1, 5.
71
Se n = 1, teremos y2 = y1 + 0, 25(x31 − y1 ). Substituindo
Continuando
y3 = y2 + 0, 25(x32 − y2 ) = 0, 8779
e
y4 = y3 + 0, 25(x33 − y3 ) = 0, 7638.
Repare que o PVI do Exemplo 5.1 pode-se resolver analı́ticamente. A sua solução é
y2 −x
y′ = 5
(5.5)
y(0) = 1
Use N = 6.
72
Solução:
y2 −x
Observe que N = 6, f (x, y) = 5 , x0 = 0 e y0 = 1. Então
3−0
h= = 0, 5, e x0 = 0; x1 = 0, 5; x2 = 1; x3 = 1, 5; x4 = 2; x5 = 2, 5; x6 = 3.
6
y2 −x
Substituindo na equação yn+1 = yn + h f (xn , yn ) = yn + 0, 5 n 5 n . Se n = 0 então
y20 − x0 12 − 0
y1 = y0 + 0, 5 = 1 + 0, 5 = 1, 1.
5 5
y21 − x1 1, 12 − 0, 5
y2 = y1 + 0, 5( ) = 1, 1 + 0, 5 = 1, 171.
5 5
y2 − x2 1, 1712 − 1
y3 = y2 + 0, 5 2 = 1, 171 + 0, 5 = 1, 2081
5 5
y23 − x3 1, 20812 − 1, 5
y4 = y3 + 0, 5 = 1, 2081 + 0, 5 = 1, 3040
5 5
y24 − x4 1, 30402 − 2
y5 = y4 + 0, 5 = 1, 3040 + 0, 5 = 1, 2740
5 5
y25 − x5 1, 27402 − 2, 5
y6 = y5 + 0, 5 = 1, 2740 + 0, 5 = 1, 1863
5 5
73
5.4 Métodos de Runge-Kutta
Como no Método de Euler, sejam (x0 , y0 ) as condições iniciais e φ(x) a solução do PVI:
′
y = f (x, y)
(5.6)
y(x0 ) = y0
Repare que a aproximação dada pelo Método de Euler possui um erro pois utilizamos
a reta tangente L1 = L para aproximar o valor de φ(x1 ), o que nos da somente uma
aproximação linear. Seja K1 a inclinação de L1 , ou seja,
K1 = f (x0 , y0 ).
O problema de determinar φ(x1 ) estaria resolvido se, por acaso, conseguirmos en-
contrar a inclinação K∗ da reta secante L∗ que passa pelos pontos (x0 , y0 ) e (x1 , φ(x1 )).
Pois
φ(x1 ) = y0 + hK∗ . (5.7)
A ideia genial do Carl Runge e o Martin Wilhelm Kutta foi escolher uma aproximação
de K∗ utilizando a função f (x, y) e compará-la com a série de Taylor de φ(x). Explica-
remos esta ideia no método de Runge-Kutta de Ordem 2 a seguir.
74
5.4.1 Métodos de Runge-Kutta de Ordem 2
P1 = (x0 + a2 h, yn + a2 hK1 )
que está sobre a reta tangente L1 e cuja abscissa é x0 + a2 h. Como f (x, y) é a inclinação
da reta tangente da solução do PVI, que passa pelo ponto (x, y), podemos definir uma
reta que passa por P1 com inclinação
Esta reta pode ser transladada ao ponto (x0 , y0 ) para obter uma reta L2 com inclinação
K2 .
1
c1 + c2 = 1, e a2 c2 = .
2
Como este sistema de equações tem infinitas soluções, podemos definir infinitos
75
métodos de Runge-Kutta de ordem 2, um para cada solução. Nestes métodos precisamos
de duas inclinações para encontrar y1 :
y1 = y0 + h(c1 K1 + c2 K2 )
K1 = f (x0 , y0 ) (5.9)
K = f (x + a h, y + a hK )
2 0 2 0 2 1
yn+1 = yn + h2 (K1 + K2 )
K1 = f (xn , yn ) (5.12)
K = f (x + h, y + hK )
2 n n 1
Use N = 4.
Solução:
1−0
h= = 0, 25; x0 = 0; x1 = 0, 25; x2 = 0, 5; x3 = 0, 75; x4 = 1.
4
76
Aperfeiçoado:
h
yn+1 = yn + (K1 + K2 ), ∀n = 0, 1, ...., N − 1.
2
onde
K1 = f (xn , yn )
K2 = f (xn + h, yn + hK1 )
Se n = 0, teremos
K1 = f (x0 , y0 ) = x30 − y0 = 03 − 2 = −2
Por tanto
h 0.25
y1 = y0 + (K1 + K2 ) = 2 + (−2 − 1, 4843) = 1, 5644
2 2
Se n = 1, teremos
Por tanto
h 0.25
y2 = y1 + (K1 + K2 ) = 1, 5644 + (−1, 5487 − 1, 0555) = 1.2388.
2 2
Se n = 2, teremos
Por tanto
h 0.25
y3 = y2 + (K1 + K2 ) = 1, 2388 + (−1, 1138 − 0, 5384) = 1.0322.
2 2
Se n = 3, teremos
Por tanto
h 0.25
y4 = y3 + (K1 + K2 ) = 1, 0322 + (−0.6103 + 0, 1204) = 0.9709
2 2
77
De novo, comparando com a solução verdadeira
concluı́mos que, como visto na figura abaixo, a solução pelo Método Aperfeiçoado é
melhor que à obtida pelo Método de Euler.
P1 = (x0 + a2 h, y0 + a2 hK1 )
Para determinar uma terceira inclinação, repetimos o processo anterior para K2 , ou seja,
escolhemos a3 ∈ [0, 1] e um ponto P2 dado por
P2 = (x0 + a3 h, y0 + a3 hK2 )
K∗ = c1 K1 + c2 K2 + c3 K3 ,
78
em que c1 + c2 + c3 = 1. Substituindo na equação (5.7), a aproximação de φ(x1 ) é
y1 = y0 + h(c1 K1 + c2 K2 + c3 K3 ).
Comparando com a série de Taylor de φ(x) (e depois de muitas contas), segue que
a2 , a3 , c1 , c2 e c3 estão relacionados pelas equações:
1 1 1
c1 + c2 + c3 = 1, c2 a2 + c3 a3 = , a3 c3 a2 = , e c2 a22 + c3 a23 = .
2 2 3
Como o sistema anterior tem infinitas soluções, existirão infinitos Métodos de Runge-
Kutta de ordem 3 (um para cada solução).
79
Use N = 4.
Solução:
Do enunciado f (x, y) = x3 − y, x0 = 0, y0 = 2, e
1−0
h= = 0, 25; x0 = 0; x1 = 0, 25; x2 = 0, 5; x3 = 0, 75; x4 = 1.
4
Se n = 0, obteremos
K1 = f (x0 , y0 ) = f (0, 2) = −2
2h 2hK1
K2 = f (x0 + , y0 + ) = f (0.16666, 1.66666) = −1.6620.
3 3
2h 2hK2
K3 = f (x0 + , y0 + ) = f (0.16666, 1.723) = −1.7183
3 3
Por tanto
h
y1 = y0 + (2K1 + 3K2 + 3K3 ) = 1.5424.
8
Continuando este processo, encontramos que
Da figura abaixo podemos verificar que método de Nystrom fornece uma melhor
aproximação que o método de Euler Aperfeiçoado.
80
5.4.3 O Método de Runge-Kutta de Ordem 4
K1 = f (xn , yn )
K2 = f (xn + a2 h, yn + a2 hK1 )
K3 = f (xn + a3 h, yn + a3 hK2 )
K4 = f (xn + a4 h, yn + a4 hK3 )
K∗ ≈ c1 K1 + c2 K2 + c3 K3 + c4 K4 ,
yn+1 = yn + h(c1 K1 + c2 K2 + c3 K3 + c4 K4 )
onde a2 , a3 , a4 ∈ [0, 1] e c1 + c2 + c3 + c4 = 1.
Como nos métodos anteriores existem relações entre os coeficientes a1 , a2 , a3 e c1 , c2 , c2 , c4 .
Para nossos propósitos, só precisamos do método de ordem 4 no qual a2 = 21 , a2 = 12 , a3 =
1 e c1 = 61 , c2 = 31 , c3 = 31 , c4 = 16 .
Determine y(1).
81
5.5 Sistemas de Equações Diferenciais Ordinárias
Um sistema de (duas) equações diferenciais é um sistema da forma
y′ = f (x, y, z)
z′ = g(x, y, z) (5.19)
y(x ) = y , z(x ) = z
0 0 0 0
Un+1 = Un + hF(xn , Un )
ou, equivalentemente
82
Isolando yn+1 e zn+1 ,
yn+1 = yn + h f (xn , yn , zn )
(5.21)
zn+1 = zn + hg(xn , yn , zn )
Solução:
1−0
e x0 = 0, y0 = 1 e z0 = 2. Como x ∈ [0, 1], h = 3 = 1/3. Os pontos xn são
83
Se n = 1,
2 2 2 2
y2 = y1 + h(x1 − y1 + 2z1 ) = 2 + (1/3)((0.3333) − (2) + 2(0.6666)) = 1, 1480
z2 = z1 + h(x1 y1 − z2 ) = 0.6666 + (1/3)((0.3333)(2) − (0.6666)2 ) = 0.7406
1
Se n = 2,
2 2 2 2
y3 = y2 + h(x2 − y2 + 2z2 ) = 1, 1480 + (1/3)(0.6666 − 1, 1480 + 2(0.7406)) = 1, 3505
z3 = z2 + h(x2 y2 − z22 ) = 0, 7406 + (1/3)((0.6666)(1, 1480) − (0, 7406)2 ) = 0.8128.
z = y′
84
e então
z′ = y′′ = g(x, y, y′ ) = g(x, y, z).
Assim, o sistema (5.25) transforma-se no PVI de primeira ordem com duas equações:
y′ = z
z′ = g(x, y, z) (5.26)
y(x ) = y , z(x ) = y′
0 0 0 0
que tem a forma do sistema (5.19) em que f (x, y, z) = z. Por tanto pode ser resolvido
numericamente pelo método de Euler dado pelas equações (5.22).
Solução:
Substituindo os dados a equação fica:
com condições iniciais y0 = y(0) = u(0) = 1 e z0 = z(0) = u′ (0) = −0.5. Como x ∈ [0, 1]
e N = 3 então
1−0
h= = 0, 3333.
3
Assim x1 = 0; x2 = 0.3333; x3 = 0.6666; x4 = 1. Pelas equações (5.22), as aproximação
de yn+1 e zn+1 são
yn+1 = yn + h f (xn , yn , zn ) = yn + hzn
zn+1 = zn + hg(xn , yn , zn ) = zn + h(−yn + 2zn − 3z3n )
Se n = 0,
y1 = y0 + hz0 = 1 + 0.3333(−.5) = 0.8333
z1 = z0 + h(−y0 + 2z0 − 3z3 ) = −0.5 + 0.3333(−1 + 2(−0.5) − 3(−0.5)3 ) = −1.0416
0
85
Se n = 1,
y2 = y1 + hz1 = 0.8333 + 0.3333(−1.0416) = 0.4861
z2 = z1 + h(−y1 + 2z1 − 3z31 ) =
−1.0416 + 0.3333(−0.8333 + 2(−1.0416) − 3(−1.0416)3 ) = −0.8837
Se n = 2,
y3 = y2 + hz2 = 0.4861 + 0.3333(−0.8837) = 0.1915
z3 = z2 + h(−y2 + 2z2 − 3z32 ) =
−0.8837 + 0.3333(−0.4861 + 2(−0.8837) − 3(−0.8837)2 ) = −0.9447
86
5.6 Exercı́cios
Exercı́cio 5.3. Aplique o Método de Euler para aproximar as soluções dos seguintes
problemas de valor inicial:
Sabendo-se que as soluções exatas dos problemas anteriores são dadas abaixo respecti-
vamente. Compare o erro cometido ao encontrar a solução numérica:
1
(a) y(x) = x + 1−x
Exercı́cio 5.4. Aplique o Método de Euler para aproximar as soluções dos seguintes
problemas de valor inicial:
(b) Sabendo-se que a solução analı́tica é dada por y(x) = − 1x , construa para cada
caso uma tabela com os valores exatos e aproximados e também o erro absoluto.
Observe e faça comentários.
(a) Considerando n1 = 3.
(b) Considerando n2 = 6.
87
3/2
x2 +2
(c) Sabendo-se que a solução exata é dada por y(x) = 3 , construa para cada
caso uma tabela com os valores exatos e aproximados e também o erro absoluto.
Observe e faça comentários.
Exercı́cio 5.8. Aplique o Método de Runge-Kutta de quarta ordem para aproximar a solução
do problema de valor inicial y′ (x) = x − y2 , com 0 ≤ x ≤ 1, y(0) = 1 nos pontos da malha
de pontos igualmente espaçados dentro do intervalo dado, cujo comprimento de um
subintervalo é 0, 5.
(a) Considerando n = 4.
(b) Considerando n = 8.
(a) Calcule aproximações para y(1), usando o Método de Euler com h = 0, 2 e h = 0, 25.
88
(a) Encontre a solução aproximada usando o Método de Euler com h = 0, 5 e h = 0, 25,
considerando x ∈ [0, 2];
Exercı́cio 5.14. Determine y(0.3) para y′′ − 3y′ + 2y = 0, com y(0) = −1 e y′ (0) = 0.
Considere h = 0.1. Utilizando o Método de Euler modificado e o Método de Euler aperfeiçoado.
Exercı́cio 5.15. Determine y(0.4) para y′′ + 3y′ + 2y = ex , com y(0) = 1 e y′ (0) = 2.
Considere h = 0.1. Utilizando o Método de Runge Kutta de ordem 3.
Exercı́cio 5.16. Um projétil de massa m = 0.11 kg, lançado verticalmente para acima com
velocidade inicial v(0) = 8 m/s, é detido pela força gravitacional F g = mg e a resistência
do ar Fr = −kv|v| onde g = −9.8 m/s2 and k = 0.002 kg/m. A equação diferencial para a
velocidade é dada por
mv′ = mg − kv|v|. (5.35)
Exercı́cio 5.17. Seja P(t) o número de individuos de uma certa população medido em
anos. Se a taxa de nascimentos é constante b e a taxa de mortalidade d é proporcional ao
tamanho da população, então o crescimento da população é dado pela equação logı́stica
dP(t)
= bP(t) − k(P(t))2 (5.36)
dt
onde d = kP(t). Suponha que P(0) = 50976, b = 2.9 × 10−2 e k = 1.4 × 10−7 . Encontre a
população estimada depois de 5 anos.
89
6 Resolução Numérica de Equações Diferenciais Parciais
6.1 Introdução
As Equações Diferenciais Parciais (edp’s) frequentemente aparecem em fenômenos
fı́sicos, como transferencia de calor, vibrações de cordas, dinâmica de fluidos, e em
problemas de economia, quı́mica e biologia. Em geral é difı́cil resolver uma edp por
técnicas analı́ticas, mas em alguns casos podemos determinar uma solução envolvendo
séries de potências. Nesta seção apresentaremos métodos numéricos para resolver edp’s
parabólicas e elı́pticas.
6.2 Preliminares
que governa o movimento de uma onda sobre uma corda de comprimento L. u(x, t) é a
altura da onda no ponto x e no tempo t, α é uma constante e F(x, t) uma função de duas
variáveis. Como a = 1, b = 0 e c = −α2 , obtemos que b2 − 4ac = 4α2 > 0 e assim esta
equação é hiperbólica.
ut = αuxx
90
Exemplo 6.3. A Equação de Poisson dada por
uxx + u yy = F(x, y)
f (x + h) − f (x)
f ′ (x) = lim
x→∞ h
f (x) − f (x − h)
f ′ (x) ≈
h
f ′ (x + h) − f ′ (x)
f ′′ (x) ≈
h
u(x, t + h) − u(x, t)
ut (x, t) ≈ . (6.2)
h
91
(ii) Diferenças Regressivas:
u(x, t) − u(x, t − h)
ut (x, t) ≈ . (6.3)
h
u(x, t + h) − u(x, t − h)
ut (x, t) ≈ . (6.4)
2h
ut = αuxx
Para resolver está edp precisamos de certas condições. Com o intuito de saber
como evolui a temperatura da barra, devemos conhecer a temperatura inicial, ou seja, a
temperatura no tempo t = 0, isto é u(x, 0). Assim, suponhamos que a temperatura inicial
é dada por uma função contı́nua ψ(x):
u(x, 0) = ψ(x), se 0 ≤ x ≤ L.
A condição anterior é conhecida como Condição Inicial. Alem disso, para resolver a
equação precisamos especificar a temperatura nos extremos da barra em cada tempo t,
92
ou seja, devemos conhecer u(0, t) e u(L, t). Assim, suponhamos que
em que f (t) e g(t) são funções contı́nuas. Estas condições são conhecidas como Condições
de Fronteira. Desejamos conhecer o valor de u(x, t) num certo tempo t = T dado.
Dessa forma, resolver a equação significa encontrar uma função u(x, t) que satisfaz:
ut = αuxx (6.6)
sujeita à
u(x, 0) = ψ(x), 0 ≤ x ≤ L (Condição Inicial)
u(0, t) = f (t), 0 ≤ t ≤ T (Condição de Fronteira) (6.7)
u(L, t) = g(t), 0 ≤ t ≤ T
(Condição de Fronteira)
Este problema é chamado Problema de Dirichlet.
6.3.2 Discretização
Definindo
L T
h= ek= , (6.8)
N M
o intervalo espacial [0, L] fica dividido em N + 1 pontos
93
xi = ih, para todo i = 0, ..., N; (6.9)
Em outras palavras conhecemos os valores de u(x, t) nos pontos que estão no bordo do
domı́nio R, ou seja, os pontos em azul na Figura 38.
Nosso objetivo será determinar os valores da aproximação da temperatura Ui, j nos
pontos internos da discretização (os pontos em vermelho na Figura 38).
No Método explı́cito aproximamos a derivada ut usando diferenças progressivas e
as fórmulas da observação 6.1. Assim a discretização da equação
ut = αuxx
94
Se
kα
σ= ,
h2
segue então que
Para j = 0, · · · , N − 1 e i = 1, · · · , N − 1
Da fórmula anterior, os valores Ui, j+1 nos pontos da linha j + 1 são uma combinação de
três valores Ui+1, j , Ui,j e Ui−1,j em pontos da linha j. A Figura (29) mostra uma molécula
computacional do método explı́cito.
95
O Método Explı́cito é estável só quando
1
σ≤ .
2
ut = uxx
sujeita à
u(x, 0) = x + 21 sin(2πx), 0 ≤ x ≤ 1
(Condição Inicial)
u(0, t) = 0, 0 ≤ t ≤ T (Condição de Fronteira)
u(1, t) = 1, 0 ≤ t ≤ T (Condição de Fronteira)
1
Considere N = 5 e k = 60 . Determine as duas linhas correspondentes a j = 1 e j = 2.
Solução:
1 αk 5
Observe que α = 1, h = 5 eσ= h2
= 12 e as funções
1
ψ(x) = x + sin(2πx), f (t) = 0, g(t) = 1.
2
1 2 3 4
x0 = 0, x1 = , x2 = , x3 = , x4 = , x5 = 1.
5 5 5 5
1 2 1
Se j = 1, t1 = 60 e se j = 2, t2 = 60 = 30 .
Da condição C1 obtemos Ui,0 = u(xi , 0) = ψ(xi ). Assim
U0,0 = 0, U1,0 = 0, 67552, U2,0 = 0, 69389, U3,0 = 0, 30610, U4,0 = 0, 32447, U5,0 = 1.
96
obtemos
5 1 5
U1,1 = σU2,0 + (1 − 2σ)U1,0 + σU0,0 = ( )(0, 69389) + ( )(0, 67552) + ( )(0) = 0, 40170
12 6 12
5 1 5
U2,1 = σU3,0 + (1 − 2σ)U2,0 + σU1,0 = ( )(0, 30610) + ( )(0, 69389) + ( )(0, 67552) = 0, 52465
12 6 12
5 1 5
U3,1 = σU4,0 + (1 − 2σ)U3,0 + σU2,0 = ( )(0, 32447) + ( )(0, 30610) + ( )(0, 69389) = 0, 47533
12 6 12
5 1 5
U4,1 = σU5,0 + (1 − 2σ)U4,0 + σU3,0 = ( )(1) + ( )(0, 32447) + ( )(0, 30610) = 0, 59828.
12 6 12
2
Se j = 1 obtemos as aproximações no tempo t2 = 60 . Segue, das equações (6.12),
que
5 1 5
U1,2 = σU2,1 + (1 − 2σ)U1,1 + σU0,1 = ( )(0, 52465) + ( )(0, 40170) + ( )(0) = 0, 28555
12 6 12
5 1 5
U2,2 = σU3,1 + (1 − 2σ)U2,1 + σU1,1 = ( )(0, 47533) + ( )(0, 52465) + ( )(0, 40170) = 0, 45287
12 6 12
5 1 5
U3,2 = σU4,1 + (1 − 2σ)U3,1 + σU2,1 = ( )(0, 59828) + ( )(0, 47533) + ( )(0, 52465) = 0, 54710
12 6 12
5 1 5
U4,2 = σU5,1 + (1 − 2σ)U4,1 + σU3,1 = ( )(1) + ( )(0, 59828) + ( )(0, 47533) = 0, 71443.
12 6 12
Condição Inicial
Figura 30: Condição inicial e soluções numéricas para a equação do Exemplo 6.4.
97
6.3.4 O Método Implı́cito
ut = αuxx (6.14)
sujeita à
u(x, 0) = ψ(x), 0 ≤ x ≤ L (Condição Inicial)
u(0, t) = f (t), 0 ≤ t ≤ T (Condição de Fronteira) (6.15)
u(L, t) = g(t), 0 ≤ t ≤ T
(Condição de Fronteira)
e utilizaremos a mesma discretização do método explı́cito da seção (6.3.2).
O Método Implicı́to é obtido substituindo as diferenças regressivas, da Observação
6.1, para aproximar ut na equação (6.14). Assim, a discretização da equação no ponto
(xi , t j ) é:
u(xi , t j ) − u(xi , t j − k) h u(xi + h, t j ) − 2u(xi , t j ) + u(xi − h, t j ) i
≈α
k h2
Assim
u(xi , t j ) − u(xi , t j−1 ) h u(xi+1 , t j ) − 2u(xi , t j ) + u(xi−1 , t j ) i
≈α
k h2
Substituindo a aproximação Ui,j ≈ u(xi , t j ) obtemos:
Para j = 1, · · · , M e i = 1, · · · , N − 1
Neste caso Ui, j−1 é uma combinação linear de três aproximações Ui+1,j , Ui, j e Ui−1,j .
Isto é, a linha j − 1 depende da linha j. A molécula computacional é:
Repare que não podemos calcular diretamente os valores Ui,j da linha j pois a equação
98
(6.16) envolve dois ou três valores desconhecidos. Porém, fixando j, podemos considerar
as equações para i = 1, · · · , N − 1,
U1, j−1 = −σU2, j + (1 + 2σ)U1, j − σU0,j
U2,j−1 = −σU3,j + (1 + 2σ)U2,j − σU1, j .
(6.17)
..
.
UN−1,j−1 = −σUN, j + (1 + 2σ)UN−1,j − σUN−2, j .
Lembrando que U0,j = f (t j ) e UN,j = g(t j ), o sistema linear (6.18) pode-se escrever
em forma matricial na forma:
1 + 2σ −σ 0 ··· 0 U1, j U1, j−1 + σ f (t j )
−σ 1 + 2σ −σ ··· 0 U2, j U2, j−1
0 1 + 2σ 0 U3, j U3, j−1
−σ ···
= (6.19)
.. .. .. .. .. .. ..
.
. . . .
.
.
0 0 ··· 1 + 2σ −σ UN−2,j UN−2, j−1
0 0 ··· −σ 1 + 2σ UN−1, j UN−1, j−1 + σg(t j )
Observação 6.2. O método Implı́cito é estável para todo valor de σ, ou seja, é incon-
dicionalmente estável.
99
Exemplo 6.5. Resolva numericamente pelo Método Implı́cito a equação parabólica:
ut = uxx (6.20)
sujeita à
u(x, 0) = x + 12 sin(2πx), 0 ≤ x ≤ 1
(Condição Inicial)
u(0, t) = 0, 0 ≤ t ≤ T (Condição de Fronteira) (6.21)
u(1, t) = 1, 0 ≤ t ≤ T (Condição de Fronteira)
1
Considere N = 5 e k = 60 . Determine as duas linhas correspondentes a j = 1 e j = 2.
Solução:
Os dados são os mesmos que no Exemplo 6.4. Mudará a forma como calculamos os
valores Ui,j para j = 1 e j = 2.
αk
Assim α = 1, h = 51 , σ = h2
= 5
12 e ψ(x) = x + sin(2πx), f (t) = 0, g(t) = 1. Também
1 2 3 4
x0 = 0, x1 = , x2 = , x3 = , x4 = , x5 = 1.
5 5 5 5
1 2 1
e t1 = 60 , t2 = 60 = 30 .
Os valores na fronteira são
U0,0 = 0, U1,0 = 0, 67552, U2,0 = 0, 69389, U3,0 = 0, 30610, U4,0 = 0, 32447, U5,0 = 1.
Simplificando
11 5
6
− 12 0 0
U1,1 0, 67552
− 5 11 5
− 12 0
U2,1
0, 69389
12 6
=
5 11 5
0
− 12 6 − 12
U3,1 0, 30610
5 11
0 0 − 12 6
U
4,1 0, 74113
100
Substituindo j = 2 no sistema matricial (6.19) obtemos
11 5
5
6
− 12 0 0
U1,2 U1,1 + 12 f (t2 )
0, 50176
− 5 11 5
− 12 0
U2,2 U2,1
0, 58649
12 6
= =
5 11 5
0
− 12 6 − 12
U3,2
U3,1
0, 41349
5 11 5
0 0 − 12 6 U4,2 U4,1 + 12 g(t2 ) 0, 91488
Então
U1,2 = 0, 39149, U2,2 = 0, 51834, U3,2 = 0, 48163, U4,3 = 0, 60848.
Condição Inicial
Figura 32: Condição inicial e soluções numéricas para a equação do Exemplo 6.5.
101
Para j = 1, · · · , M e i = 1, · · · , N − 1,
Cada equação deste método relaciona três variáveis desconhecidas Ui+1, j , Ui,j e Ui−1, j
com três variáveis conhecidas Ui+1,j−1 , Ui, j−1 e Ui−1, j−1 . Uma molécula computacional é
dada na figura abaixo.
Lembrando que U0,j = f (t j ) e UN,j = g(t j ), o sistema linear (6.25) pode-se escrever
em forma matricial na forma:
2 + 2σ −σ 0 ··· 0 U1, j
−σ 2 + 2σ −σ ··· 0 U2, j
0 2 + 2σ 0 U3, j
−σ ···
=
.. .. .. .. .. ..
. . . . .
.
0 0 ··· 2 + 2σ −σ UN−2,j
0 0 ··· −σ 2 + 2σ UN−1, j
102
2 − 2σ σ 0 ··· 0 U1, j−1 σ(U0,j−1 + U0, j )
σ 2 − 2σ σ ··· 0 U2, j−1
0
0 σ 2 2σ 0 U3, j−1 0
− · · ·
+ (6.26)
.. .. .. .. .. .. ..
. . . . .
.
.
0 0 ··· 2 − 2σ σ UN−2,j−1
0
0 0 ··· σ 2 − 2σ UN−1,j−1 σ(UN, j−1 + UN,j )
sujeita à
2
u(x, 0) = 1 − x3 + 3x2 − 2x
3 ,0 ≤ x ≤ 1 (Condição Inicial)
u(0, t) = 1, 0 ≤ t ≤ T (Condição de Fronteira) (6.28)
u(1, t) = 56 + te−t , 0 ≤ t ≤ T (Condição de Fronteira)
1
Considere N = 4 e k = 40 . Determine as duas linhas correspondentes a j = 1 e j = 2.
Solução:
1 kα
Dos dados h = 4 = 0, 25 e σ = h2
= 54 , e as funções
3x2 2x 5
ψ(x) = 1 − x3 + − , f (t) = 1, g(t) = + te−t .
2 3 6
Os valores xi e t j são:
x0 = 0, x1 = 0, 25, x2 = 0, 5, x3 = 0, 75, x4 = 1, 0,
1 2
t0 = 0, t1 = , t2 = .
40 40
Como Ui,0 = u(xi , 0) = ψ(xi ) segue que:
103
Das condições de fronteira
Condição Inicial
104
6.3.6 Condições de Fronteira de Neumann ou com Derivadas
∂u(0, t) ∂u(L, t)
= f (t), = g(t).
∂x ∂x
ut = αuxx (6.29)
sujeita à
u(x, 0) = ψ(x), 0 ≤ x ≤ L (Condição Inicial)
∂u(0,t)
∂x
= f (t), 0 ≤ t ≤ T (Condição de Fronteira de Neumann) (6.30)
∂u(L,t)
= g(t), 0 ≤ t ≤ T (Condição de Fronteira de Neumann)
∂x
que são as equações contendo U−1,j = u(x−1 , t j ), os valores da função nos pontos (x−1 , t j ) =
(−h, k j), para j = 0, · · · , N − 1. Estes pontos estão fora da malha, e por tanto serão
chamados pontos fantasmas. Similarmente, se i = N, o método explı́cito fornece a
equações
UN, j+1 = σUN+1, j + (1 − 2σ)UN, j + σUN−1,j (6.33)
as quais contém os pontos fantasmas UN+1,j = u(xN+1 , t j ), o valor de da função nos pontos
(xN+1 , t j ) = ((N + 1)h, jk), que não está na malha. Na Figura (35) temos apresentado a
malha e os pontos fantasmas no caso que N = 4 e M = 3.
105
Figura 35: Discretização do Domı́nio e os pontos fantasmas.
u(x1 , t j ) − u(x−1 , t j )
f (t j ) ≈ .
2h
Por tanto
U1,j − U−1,j
f (t j ) =
2h
o equivalentemente
que expressa o fato que o valor nos pontos fantasma depende do valor nos pontos
interiores da malha.
UN+1,j − UN−1,j
g(t j ) =
2h
Implicando que
106
UN+1, j = UN−1, j + 2hg(t j ). (6.35)
com o qual podemos calcular diretamente as incógnitas {U0, j+1 , U1,j+1 , · · · , UN, j+1 } a partir
dos valores {U0,j , U1,j , · · · , UN,j }. Em forma matricial
U0,j+1 1 − 2σ 2σ 0 ··· 0 U0, j −2hσ f (t j )
U1,j+1
σ 1 − 2σ σ ··· 0 U1, j
0
U2,j+1 0 σ 1 − 2σ 0 U 0
···
2, j
= +
.. .
.. .. .. .. .. .. .
..
.
.
. . .
.
UN−1,j+1 0 0 ··· 1 − 2σ σ UN−1, j 0
UN, j+1 0 0 ··· 2σ 1 − 2σ UN, j 2hσg(t j )
(6.37)
Exemplo 6.7. Resolva numericamente pelo Método explı́cito a equação parabólica com
condições de Neumann:
ut = 2uxx
sujeita à
u(x, 0) = 1 − x2 , 0 ≤ x ≤ 1 (Condição Inicial)
∂u(0,t)
= 0, 0 ≤ t ≤ T (Condição de Neumann)
∂x
∂u(L,t) = −2e−t , 0 ≤ t ≤ T
(Condição de Neumann)
∂x
1
Considere N = 2 e k = 40 . Determine a linha correspondente a j = 1.
Solução:
107
1 kα
Dos dados do problema h = 2 = 0, 5, σ = h2
= 51 .
1 1 2
x0 = 0, x1 = , x2 = 1, t0 = 0, t1 = , t2 = .
2 40 40
Desse modo
3 2
U0,1 5 5 0 1 0 0, 90
U = 1 3 1 0, 75 + 0 = 0, 65
1,1 5 5 5
2 3
2
U2,1 0 5 5 0 −5 −0, 1
∂ 2 u ∂2 u
+ = f (x, y) (6.38)
∂x2 ∂x2
em que f (x, y) é uma função de duas variavéis. Esta edp é chamada Equação de Poisson
e está definida no retângulo
R = {(x, y) : 0 ≤ x ≤ a, 0 ≤ y ≤ b}.
108
a b
isto é, escolhemos dois inteiros positivos N e M e definimos h = N eb = M. A sub-divisão
no eixo x é
x0 = 0, x1 = h, · · · , xi = ih, · · · , xN = a;
e no eixo y é:
y0 = 0, y1 = k, · · · , yi = ik, · · · , yM = b.
na qual g(x, y) é uma função contı́nua em ∂R. Esta última condição é conhecida como
condição de Dirichlet.
Discretizando a equação (6.38) no ponto genérico (xi , y j ) e usando as equações da
Observação 6.1:
uxx (xi , y j ) + u yy (xi , y j ) = f (xi , yi )
u(xi + h, y j ) − 2u(xi , y j ) + u(xi − h, y j ) u(xi , y j + k) − 2u(xi , y j ) + u(xi , y j − k)
+ ≈ f (xi , y j )
h2 k2
ou para i = 1, · · · , N − 1 e j = 1, · · · , M − 1,
Seguindo a notação já utilizada, seja Ui, j a aproximação de u(xi , yi ) e fi,j o valor
109
f (xi , y j ), então:
Ui, j = g(xi , y j ), se i = 0 e N, j = 0, · · · M.
Ui, j = g(xi , y j ), se j = 0 e M, i = 0, · · · N.
Logo, os valores desconhecidos são os valores de Ui,j nos pontos internos da malha
(pontos em vermelho na Figura (36)):
110
sujeita às condições de Dirichlet na fronteira:
3
u(x, 0) = 0, u(x, 1) = (x + 1) + 4, 0 ≤ x ≤ 1
u(0, y) = y + 4y2 , u(1, y) = 8y + 4y2 , 0 < y < 1
Usando h = 1/3 e k = 0.5, encontre os valores aproximados de u(x, y) nos pontos internos
da malha.
Solução:
Discretizando o domı́nio:
1 2
x0 = 0, x1 = , x2 = , x3 = 1,
3 3
t0 = 0, t1 = 0, 5, t2 = 1.
Simplificando
9U21 − 26U11 = −26.98148. (6.42)
Substituindo i = 2, j = 1
Simplificando
− 26U21 + 9U11 = −66.51848 (6.43)
1
Exercı́cio 6.2. Resolva o Exemplo (6.8) com h = 3 e k = 13 .
111
6.5 Equações não lineares
Para resolver Equações Diferenciais Parciais em geral, devemos discretizar a equação
pelas fórmulas da Observação 6.1 e logo resolver o sistema de equações (lineares ou não)
obtido mediante esta discretização.
(a) Deduza uma fórmula para encontrar os pontos internos substituindo diferenças
progressivas para ut e diferenças centrais para ux .
Solução:
Os dados da malha são
1 2
x0 = 0, x1 = , x2 = , x3 = 1
3 3
1
t0 = 0, t1 = .
20
Das condições iniciais:
1 2 2 4
U00 = 0, U10 = 2( ) = , U20 = 2( ) = , U30 = 2,
3 3 3 3
Discretizando a equação
Se i = 1 e j = 0, obtemos
1 h 2 i
U1,1 − U1,0 = ( ) U1,0 + 81 U2,0 − 2U1,0 + U0,0 + 3 U2,0 − U0,0
20
1 h 2 i
U2,1 − U2,0 = ( ) U2,0 + 81 U3,0 − 2U2,0 + U1,0 + 3 U3,0 − U1,0
20
112
6.6 Exercı́cios
Exercı́cio 6.3. Nos domı́nios especificados, determine o tipo de cada uma das equações
diferenciais abaixo:
(a) xuxx − yu yy , com D = {x > 0, y > 0}
(c) uxx − 2u yy = 0, D = R2
(f) uxy − ux = 0, D = R2
Exercı́cio 6.4. Verifique se a função u(x, t) = cos(2πt) sin(πx) é solução da equação da
onda dada abaixo, para algum c > 0:
utt = c2 uxx , onde 0 < x < 1, 0 < t < 0.5
u(0, t) = 0, (6.44)
u(x, 0) = sin(πx)
(b) Mostre que, discretizando esta equação pelo Método explı́cito e diferenças centrais
para aproximar ux , obtém-se:
ka bk 2ka ka kb
Ui,j+1 = + Ui+1, j + 1 − 2 Ui,j + 2 − Ui−1,j
h2 2h h h 2h
(c) Para a = 2, b = 1, L = 0.5, ψ(x) = 5x, f (t) = 0, g(t) = 2.5, h = 1/10, k = 1/20, calcule
o valor aproximado de u(0.3, 0.05).
Exercı́cio 6.6. Um cilindro tem sua temperatura, ao longo do tempo t, definida em cada
seção transversal pela função:
π2 t
πx
u(x, t) = 2e− 4 sin
2
113
(a) Encontre a constante α da equação do calor inerente a este problema;
(c) Fazendo h = 0.1 e k = 0.5 encontre as aproximações obtidas pelo Método das
diferenças para a temperatura nos pontos interiores da malha no instante t = 0.5.
Exercı́cio 6.7. Considere a equação da onda utt − 4uxx = 0 para 0 < x < 1, t > 0,
h = 0.5, k = 0.05, com condições de fronteira u(0, t) = u(1, t) = 0 e condições iniciais
u(x, 0) = sin(πx) e ut (x, 0) = 0.
(c) Usando aproximações obtidas pelo Método das Diferenças, trace o esboço de um
gráfico para a função u(0.5, t) onde 0 ≤ t ≤ 0.25.
Exercı́cio 6.9. Considere a equação uxx + u yy = xe y para 0 < x < 1.5, 0 < y < 1.5,
h = k = 0.5 e condições de fronteira:
y
u(0, y) = 0, u(1.5, y) = 1.5e
(6.47)
u(x, 0) = x, u(x, 1.5) = xe1.5
(b) Encontre o erro relativo para cada uma das aproximações obtidas pelo Método das
diferenças nos pontos interiores da malha.
Exercı́cio 6.10. Uma placa de 12 cm de lado tem suas bordas mantidas á temperatura de
100 graus. Sabendo que a temperatura é dada pela função u(x, y), faça o que se pede:
114
(a) Utilize o valor de ux (1, t) para calcular uma aproximação para u(0.5, 0) quando
h = 0.5.
(c) Considerando h = 1/2 e k = 1/8 no Método das diferenças finitas, determine o valor
aproximado para u(1, 1/8).
Exercı́cio 6.14. Resolva o problema anterior utilizando diferenças centrais para as deri-
vadas de primeira ordem. Explique o que ocorre.
Exercı́cio 6.15. Considere a equação diferencial ut = uxx , com , 0 ≤ x ≤ 1 e 0 < t < T com
condição de fronteira u(0, t) = u(1, t) = 0 para todo t > 0, e com condição inicial dada
2x
, 0 ≤ x < 1/2
u(x, 0) = (6.49)
2 − 2x , 1/2 ≤ x ≤ 1
(b) Se h = 1/4 e k = 1/50, encontre as duas primeiras linhas de soluções pelo Método
Explı́cito.
(c) Se h = 1/3 e k = 1/50, encontre as duas primeiras linhas de soluções pelo Método
Implı́cito.
(d) Se h = 1/3 e k = 1/50, encontre as duas primeiras linhas de soluções pelo Método
de Crank-Nicolson.
Exercı́cio 6.16. Considere o problema não linear ut = (uux )x , com x ∈ [0, 1], t > 0 com
condição inicial e de fronteira:
2
u(x, 0) = −( x6 + x − 32 ), para todo x ∈ [0, 1]
3
u(0, t) = 2(1+t) , para todo t > 0 (6.50)
1
u(1, t) = 3(1+t) , para todo t > 0.
(a) Obtenha uma fórmula para as soluções utilizando o Método Explı́cito, diferenças
centrais para a primeira derivada em relação a x e diferenças progressivas para a
primeira derivada em relação a t.
115
Exercı́cio 6.17. Considere o seguinte problema com condições de fronteira de Newmann:
sujeita à:
u(x, 0) = x2 − 1, para todo x ∈ [0, 1]
ux (0, t) = 2(u − 1), para todo t > 0 (6.51)
u (1, t) = −3(u − 2), para todo t > 0.
x
116
Exercı́cio 6.19. Considere a equação diferencial parcial com as condições inicial e de
fronteira seguintes:
ut = 3uxx , com 0 < x < 1, 0 < t < T
(6.52)
u(x, 0) = x3 , u(0, t) = 0, u(1, t) = e−2t
(a) Considerando h = 1/3 e k = 1/40, encontre os valores de Ui,j para j = 1 pelo método
explı́cito.
(b) Usando o método implı́cito e os valores do item (a), encontre os valores de Ui, j
para j = 2.
(a) Deduza uma fórmula para encontrar os pontos internos substituindo diferenças
progressivas para ut e diferenças centrais para ux .
Referências
[1] Arenales, Selma e Darezzo, Arthur: Cálculo Numérico: aprendizagem com apoio de
software. São Paulo, Thomson Learning, 2008.
[2] Bertoldi, Neide: Cálculo Numérico. São Paulo, Pearson Prentice Hall, 2006.
[3] Ruggeiro, Márcia e Lopes, Vera Lúcia: Cálculo Numérico: Aspectos Teóricos e Computa-
cionais . 2a Edição, São Paulo, Pearson Makron Books, 1996.
[4] Steward, James: Cálculo . Vol. 1, Cengage Learning, São Paulo, 2013.
117