Você está na página 1de 117

Cálculo Numérico

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.

Viçosa, março de 2014.


J. Valentı́n Mendoza M.

2
Sumário

1 Métodos numéricos para a solução de equações 5


1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 O Método de Bisseção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Estimativa do número de iterações . . . . . . . . . . . . . . . . . . . 8
1.4 Método da Falsa Posição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.1 Erro Absoluto no método da Falsa Posição . . . . . . . . . . . . . . 10
1.4.2 Erro Relativo no método da Falsa Posição . . . . . . . . . . . . . . . 10
1.5 O Método das Aproximações Sucessivas . . . . . . . . . . . . . . . . . . . . 11
1.6 O Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6.1 Convergência do Método de Newton . . . . . . . . . . . . . . . . . 15
1.7 Método da Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.8 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

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

3 Resolução Numérica de Sistemas Lineares 34


3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.1 Sistemas Triangulares Inferiores . . . . . . . . . . . . . . . . . . . . 34
3.2.2 Sistemas Triangulares Superiores . . . . . . . . . . . . . . . . . . . . 35
3.3 Método Direto: Decomposição LU . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Método Iterativo: O método de Gauss-Seidel . . . . . . . . . . . . . . . . . 41
3.4.1 O Caso Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.2 Critérios de Convergência . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.3 Critério de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

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

6 Resolução Numérica de Equações Diferenciais Parciais 90


6.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.2 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.2.1 Equações Diferenciais Parciais . . . . . . . . . . . . . . . . . . . . . 90
6.2.2 Aproximações da primeira e da segunda derivada . . . . . . . . . . 91
6.3 Equações Parabólicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.3.1 O modelo de Equação Parabólica . . . . . . . . . . . . . . . . . . . . 92
6.3.2 Discretização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.3.3 Método Explı́cito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3.4 O Método Implı́cito . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.3.5 O Método de Crank-Nicolson . . . . . . . . . . . . . . . . . . . . . . 101
6.3.6 Condições de Fronteira de Neumann ou com Derivadas . . . . . . 105
6.4 Equações Elı́pticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.4.1 O modelo de Equação Elı́ptica . . . . . . . . . . . . . . . . . . . . . 108
6.5 Equações não lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.6 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

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:

p(x) = x5 − (2 + r)x4 + (1 + 2r)x3 − (1 − r)x2 + 2(1 − r)x + r − 1 = 0

Usando o valor aproximado de r ≈ 3.04042 × 10−6 , encontre a localização do ponto


L1 .

Sol Terra

Figura 1: Pontos de Lagrange no sistema 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.

A solução do problema anterior só é possı́vel utilizando um método numérico. No


que segue apresentaremos alguns métodos que nos ajudarão a resolver equações deste
tipo.

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.

Em palavras, podemos garantir ao menos uma solução da equação f (x) = 0, desde


que as imagens dos extremos do intervalo [a, b] sejam de signais diferentes. Isto é, se
f (a) > 0 e f (b) < 0, ou se f (a) < 0 e f (b) > 0.

Exemplo 1.2. No exemplo 1.1, a função é

f (x) = p(x) = x5 − (2 + r)x4 + (1 + 2r)x3 − (1 − r)x2 + 2(1 − r)x + r − 1.

Observe que f (0) = r − 1 < 0 e f (1) = r > 0 então, pelo TVI, existe uma raiz x̄ no intervalo
[0, 1].

Outro resultado que precisaremos é o seguinte teorema:

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

f (b) − f (a) = f ′ (c)(b − a).

O TVI é a ferramenta principal do primeiro método numérico.

1.3 O Método de Bisseção


Suponha f (x) contı́nua e que existe um intervalo [a, b] tal que f (a) f (b) < 0. Sem perda
de generalidade, podemos supor f (a) > 0 e f (b) < 0. Pelo TVI, existe uma raiz x̄ de
f (x) = 0 entre a e b, que pode se qualquer ponto do intervalo [a, b]. Assim, temos pouca
informação sobre o valor da raiz. A ideia do método de Bisseção é diminuir o tamanho
do intervalo [a, b] com o intuito de conseguir um intervalo menor no qual podemos
encontrar a raiz.
Como não temos ideia da ubicação da raiz, democraticamente, escolhemos como
primeira aproximação de x̄, o ponto médio do intervalo:

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:

(i) Se f (a) f (x1 ) < 0 então a raiz encontra-se em [a, x1 ],

(ii) Se f (x1 ) f (b) < 0 então a raiz encontra-se em [x1 , b].

No caso (i), fazemos b = x1 e no caso (ii), fazemos a = x1 . Em qualquer caso, temos


diminuido o tamanho do intervalo à metade. Com este novo intervalo repetimos o
processo o obtemos uma segunda aproximação x2 com a qual, se não é a raiz, diminuimos
o intervalo novamente na metade. Dependendo do valor de f (x2 ) teremos a = x2 ou
b = x2 .
Continuando este processo obtemos uma sequência de aproximações xn+1 , para
n = 0, 1, 2, ... que pertencem a intervalos In = [an , bn ] com a0 = a e b0 = b de forma que
f (an ) f (bn ) < 0 e o comprimento de cada Ii+1 é a metade do comprimento de Ii . Assim

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̄.

Demonstração. Pela equação (1.2) temos que

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̄. 

1.3.1 Estimativa do número de iterações

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

|xn+1 − x̄| < ǫ,

em que ǫ é o erro absoluto ao aproximar x̄. Pela equação (1.2)

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)

Observação 1.1. Ao resolver um problema numericamente, não esqueça de colocar a


calculadora no modo radianos.

Exemplo 1.3. Aplique o método de Bisseção para resolver a equação x3 + cos(x) = 0


obtendo os extremos do intervalo inicial a e b pelo TVI. Encontre um resultado xn tal que
|xn − x̄| < 0.01.

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:

n a b xn+1 f (a) f (b) f (xn+1 )


0 -1 0 -0.5 -0.45969 1 0.75258
1 -1 -0.5 -0.75 -0.45969 0.75258 0.309813
2 -1 -0.75 -0.875 -0.45969 0.309813 -0.02892
3 -0.875 -0.75 0 -0.8125 -0.02892 0.309813 0.1513
4 -0.875 -0.8125 -0.84375 -0.02892 0.1513 0.75258
5 -0.875 -0.84375 -.859375 -0.02892 0.75258 0.018240
6 -0.875 -0.859375 -0.8671875 -0.02892 0.018240 -0.00516

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

Assim uma aproximação da raiz é x7 = −0.8671875.

1.4 Método da Falsa Posição


O método da Falsa Posição é uma variação do método da Bisseção. Neste método mu-
damos a forma de escolher a aproximação xn+1 . Na Biseção aproximavamos utilizando
o ponto médio do intervalo. Na Falsa posição aproximaremos a raiz utilizando a reta L
que passa pelos pontos (a, f (a)) e (b, f (b)). Ou seja, f (x) é aproximada por L e assim x1 ,
a aproximação de x̄, será o ponto onde a ordenada y da reta L é zero.

Figura 3: O Método da Falsa Posição.

A equação da reta L é:


y − f (a) f (b) − f (a)
= .
x−a b−a
Se y = 0, então x = x1 . Logo
0 − f (a) f (b) − f (a)
= .
x1 − a b−a

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 é:

(i) Se f (a) f (x1 ) < 0 então a raiz encontra-se em [a, x1 ],

(ii) Se f (x1 ) f (b) < 0 então a raiz encontra-se em [x1 , b].

No caso (i) definimos b = x1 , e no caso (ii) definimos a = x1 . Logo, continuamos o


processo até obter a precisão desejada, obtendo intervalos [an , bn ] com a0 = a e b0 = b e

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).

1.4.1 Erro Absoluto no método da Falsa Posição

No método da Falsa Posição pode acontecer que an ou bn permanece fixo a partir de um


certo n, então não podemos garantir que bn − an tende para 0. Por isso utilizaremos o
erro absoluto |xn+1 − xn | < ǫ como critério de parada, onde ǫ é a precisão dada.
Por tanto, o método para quando atingimos a desigualdade |xn+1 − xn | < ǫ.

1.4.2 Erro Relativo no método da Falsa Posição

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:

Como f (x) = x3 + cos(x) e f (−1) = −0.45969 e f (0) = 1, consideramos a = −1 e b = 0.


O método para se atingimos |xn+1 − xn | < 0.01. Na seguinte tabela organizaremos os
dados:

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.

Assim uma aproximação da raiz é x4 = −0.86512.

Observação 1.2. Em todos os métodos que seguem aplicamos um dos dois critérios
de parada:

(i) Erro absoluto: se |xn+1 − xn | < ǫ;

(ii) Erro relativo: se | xn+1 −xn


xn+1 | < ǫ.

1.5 O Método das Aproximações Sucessivas


Seja f (x) : [a, b] → R uma função contı́nua. O método de Aproximações Sucessivas ou
Método do Ponto Fixo consiste em escrever a equação f (x) = 0 na forma

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:

Neste exemplo f (x) = x3 − 13. Existem várias maneiras de resolver o problema:


q
(i) Escreva x3 − 13 = 0 na forma x2 = 13x e então isole x na esquerda x = 13
x . Por
q
tanto φ(x) = 13 x.

(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→∞

o que implica x∗ = φ(x∗ ). Pela definição da φ, segue que f (x∗ ) = 0, ou seja, x̄ = x∗ .

A análise anterior mostra que podemos encontrar x̄ usando a sequência {xn } da


equação (1.6), desde que o limite limn→∞ xn exista.

O seguinte Teorema fornece condições para que o limite limn→∞ xn exista.

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.

Demonstração. Seja x̄ satisfazendo x̄ = φ(x̄) ou f (x̄) = 0. Pelo Teorema do Valor


Médio, para cada n existe um cn ∈ (x̄, xn ) tal que

|φ(xn ) − φ(x̄)| = |φ′ (cn )||xn − x̄|.

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

|xn+1 − x̄| ≤ M|xn − x̄|.

Continuando este processo temos:

|xn+1 − x̄| ≤ M|xn − x̄| ≤ M2 |xn−1 − x̄| ≤ . . . ≤ Mn+2 |x0 − x̄|.

12
Por tanto
lim |xn+1 − x̄| ≤ lim Mn+2 |x0 − x̄| = 0
n→∞ n→∞

pois M < 1. Então,


lim |xn+1 − x̄| = 0
n→∞

o que implica limn→∞ xn+1 = x̄. 

Observação 1.3. Pelo Teorema 1.4 devemos escolher uma φ que satisfaça:

|φ′ (x)| < 1. (1.8)

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

x1 = φ(x0 ) = φ(0.5) = e0.5−3 = 0.08208.

Continuamos calculando os valores pela fórmula xn+1 = φ(xn ) na seguinte tabela:

n xn
0 0.5
1 0.08208
2 0.05404
3 0.052551

Observe que |x3 − x2 | = 0.00148 < 0.01. A solução aproximada é x3 = 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

Figura 4: O método de Newton.

A equação da reta tangente no ponto (x0 , f (x0 )) é:

y − f (x0 )
= f ′ (x0 ).
x − x0

Substituindo as condições x = x1 e y = 0 temos:

0 − f (x0 )
= f ′ (x0 ).
x1 − x0

Isolando x1 , obtemos a fórmula do método de Newton no ponto 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 )

1.6.1 Convergência do Método de Newton

O seguinte Teorema garante a convergência do Método de Newton.

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 )

convergirá para a raiz.

Demonstração. Observe que o método de Newton é um caso particular do


f (x)
método das Aproximações sucessivas com φ(x) = x − f ′ (x) pois xn+1 = φ(xn ).
Assim, pelo Teorema 1.4, o método convergirá se |φ′ (x)| < 1. Note que

f (x) f ′′ (x)
φ′ (x) =
[ f ′ (x)]2

Como f (x̄) = 0, temos φ′ (x̄) = 0. Pela continuidade de f, f ′ e f ′′ , existe um


intervalo I∗ ⊂ I contendo x̄, no qual |φ′ (x)| < 1 para x ∈ I∗ . 

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:

Dos dados do problema f (x) = x2 − ex e f ′ (x) = 2x − ex . Usando a fórmula

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.

1.7 Método da Secante


O Método de Newton precisa da avaliação da derivada f ′ (x) nos pontos xn que, depen-
dendo da função f (x), pode ser muito custosa. O Método da Secante surgue como uma
alternativa ao método de Newton no qual não é necessário avaliar a derivada da função.
A ideia é substituir a expressão f ′ (xn ) na fórmula de Newton por uma aproximação
dela. Suponha que conhecemos duas aproximações x0 e x1 da raiz x̄. Pelo método de
Newton
f (x1 )
x2 = x1 − .
f ′ (x1 )
Se não querermos derivar f , podemos aproximar a derivada f ′ (x1 ) pela inclinação da
reta que passa pelos pontos (x0 , f (x0 )) e (x1 , f (x1 )):

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 )

Fazendo a mesma análise para x1 e x2 , obteremos uma fórmula para x3

x1 f (x2 ) − x2 f (x1 )
x3 = .
f (x2 ) − f (x1 )

Em geral, a aproximação xn+1 depende de xn−1 e xn :

xn−1 f (xn ) − xn f (xn−1 )


xn+1 = . (1.10)
f (xn ) − f (xn−1 )

16
Figura 5: O Método da Secante.

Observação 1.5. A fórmula do Método da Secante e do método da Falsa Posição é


a mesma. A diferença entre estes dois métodos é que no Método da Secante não é
necessário que os valores iniciais tenham signais opostos.

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:

Neste exemplo x0 = 0, x1 = 1 e f (x) = x3 − 9x + 3. Na tabela abaixo estão os valores


de xn e f (xn ). Em cada passo xn+1 é dado pela fórmula

xn−1 f (xn ) − xn f (xn−1 )


xn+1 = .
f (xn ) − f (xn−1 )

n xn−1 xn xn+1 f (xn−1 ) f (xn ) f (xn+1 )


1 0 1 0.375 3 -5 -0.32226
2 1 0.375 0.33194 -5 -0.32226 0.04911
3 0.375 0.33194 0.33763 -0.32226 0.04911 -0.00018
4 0.33194 0.33763 0.33760 0.04911 -0.00018 -0.00007


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.

Exercı́cio 1.2. Localize graficamente as raı́zes das equações:

x
(a) 4 cos(x) − e2x = 0; (b) − tan(x) = 0;
2

(c) 1 − x ln(x) = 0; (d) 2x − 3x = 0.

Exercı́cio 1.3. Considere a equação f (x) = xex − 1.

(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?

(c) Se (xk ), k = 0, 1, 2, 3, .. é a sequência de aproximações para a solução da equação


f (x) = 0 através do Método da Biseção, determine o valor aproximado de |x4 − x3 |.

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.5. Aplique o Método de Bisseção para resolver:

(a) ex − x − 3x2 = 0; (b) x3 + cos(x) = 0

obtendo os extremos do intervalo inicial a e b graficamente. Encontre um resultado xn


tal que |x̄ − xn | < 0, 01.

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 .

Exercı́cio 1.7. Dado o polinómio p(x) = x3 + 2x2 + x − 2, faça o que se pede:

(a) Determine o intervalo onde todos os zeros do polinômio devem estar.

(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.

Exercı́cio 1.8. Faça o exercı́cio anterior usando o polinômio p(x) = x3 + 4x2 + x − 2.

Exercı́cio 1.9. Considere a função f (x) = x3 − x − 1. Resolva a equação f (x) = 0 pelo


1 1
Método de aproximações sucessivas usando a função de iteração φ(x) = x + x2
e x0 = 1.
Justifique seus resultados.

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:

(a) φ(x) = 2 + ln(x); (b) φ(x) = ex−2 .

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.

Exercı́cio 1.13. Mostre que a fórmula para determinar a raiz cúbica de Q,

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.

Exercı́cio 1.14. Calcular as duas raı́zes de sin(x) − ex − 2x2 + 10 = 0 usando o Método de


Newton, com a precisão de |xn+1 − xn | ≤ 10−5 e no máximo 10 passos.

Exercı́cio 1.15. Localize os zeros do polinômio p(x) = x5 − 10 3 5


9 x + 21 . Usando o Método de
Newton, encontre as raı́zes não nulas de p(x) = 0 com precisão de 6 casas decimais.

Exercı́cio 1.16. Utilizando o Método de Newton e chamando de (xk ), k = 0, 1, 2, ... a


sequência de aproximações para a solução da equação tan(x) − 2x = 0 no intervalo
[1, 1.5], com x0 = 1.3, encontre um valor aproximado de |x5 − x4 | × 107 .

Exercı́cio 1.17. Considere a equação não-linear x2 − ex = 0. Use o Método de Newton para


resolvê-la considerando uma aproximação inicial x0 = −2 e precisão menor que ǫ = 10−1 .
Use arredondamento e 4 casas decimais após a vı́rgula.

Exercı́cio 1.18. Utilizando o Método de Newton e chamando de (xk ), k = 0, 1, 2, ... a


sequência de aproximações para a solução da equação x3 + x − λ = 0 no intervalo
[1, 2], com x0 = 1.3 e λ = 3, encontre um valor aproximado de |x5 − x4 | × 107 .

Exercı́cio 1.19. Além da solução obvia x = 0, a equação

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 .

Exercı́cio 1.23. Considere um pórtico em L invertido como na figura onde K é o coefici-


ente de mola torsional. Encontre o valor do ángulo de equilibrio θ quando aplicamos
uma força P no extremo do pórtico. Resolva o problema com K = 1, L = 2 e P = 2.

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.

p(x) = x(x − 1)(x + 1)(x − 2) (1.11)

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.

Exercı́cio 1.25. Verifique que a sequência

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.

Figura 7: Corda e Arco.

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.

Figura 8: Lateral do cilindro.

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,

g(xi ) = f (xi ) = yi , para todo i = 0, ..., n.

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).

Figura 9: g(x) coincide com f (x) nos pontos xi , i = 0, 1, ..., n.

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.

Ano 1960 1970 1980 1990 2000 2010


População 72.7759 96.0604 121.7404 149.6483 174.5049 195.2102

Seja f (x) a população do Brasil no ano x. O problema a ser resolvido é o seguinte:


Estime a população nos anos 1955, 1975 e 2012.

DEFINIÇÃO 2.1. A interpolação denomina-se Interpolação Polinomial se a função g(x)


é um polinômio.

Note que um polinômio está definido em toda a reta real R e, além disso, é fácil de
derivar e integrar.

No que segue, a interpolação será sempre polinomial.

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.

Demonstração. Considere um polinômio de grau n da forma

P(x) = a0 + a1 x + a2 x2 + ... + an xn .

Sob a hipótese P(xi ) = yi temos:

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
 

e, de álgebra linear, podemos provar que o determinante do sistema é:

n
Y
Det(A) = (xi − x j ) (2.2)
i>j

Como xi , x j , se i , j, Det(A) , 0. Por tanto o sistema tem solução única. Dessa


forma o polinômio P(x) que interpola f (x) é único. 

DEFINIÇÃO 2.2. O polinômio P(x) do Teorema 2.1 é chamado Polinômio Interpolante


de f (x) nos pontos x0 , x1 , ..., xn .

Pelo Teorema 2.1, podemos obter os coeficientes do polinômio interpolante resol-


vendo o sistema linear (2.1). Mas, se n é grande, a resolução de um sistema linear
n × n pode ser muito custosa em relação ao tempo computacional utilizado. Assim,
é necessário utilizarmos outros métodos para determinar P(x) como a Fórmula de
Lagrande e a Fórmula de Newton.

2.3 A Fórmula de Lagrange


Para definir a fórmula de Lagrange do polinômio interpolante P(x) precisamos dos
polinômios de Lagrange que são definidos abaixo.

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

Os polinômios de Lagrange tem a seguinte propriedade:

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

P(x) = y1 L1 (x) + y2 L2 (x) + · · · + yn Ln (x).

Pela propriedade (A), a avaliação de P(x) em x = xi é:

P(xi ) = y1 L1 (xi ) + y2 L2 (xi ) + · · · + yn Ln (xi ) = yi Li (xi ) = yi = f (xi ),

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

Por tanto, a fórmula de Lagrange:

P(x) = y1 L1 (x) + y2 L2 (x) + · · · + yn Ln (x).

fornece uma maneira direta de calcular o polinômio interpolante.

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

Encontre um polinômio interpolador de grau 3 e estime a população nos anos 1985


e 1995.

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:

(x − x1 )(x − x2 )(x − x3 ) (x − 1980)(x − 1990)(x − 2000)


L0 (x) = =
(x0 − x1 )(x0 − x2 )(x0 − x3 ) (1970 − 1980)(1970 − 1990)(1970 − 2000)

(x − x0 )(x − x2 )(x − x3 ) (x − 1970)(x − 1990)(x − 2000)


L1 (x) = =
(x1 − x0 )(x1 − x2 )(x1 − x3 ) (1980 − 1970)(1980 − 1990)(1980 − 2000)
(x − x0 )(x − x1 )(x − x3 ) (x − 1970)(x − 1980)(x − 2000)
L2 (x) = =
(x2 − x0 )(x2 − x1 )(x2 − x3 ) (1990 − 1970)(1990 − 1980)(1990 − 2000)
(x − x0 )(x − x1 )(x − x2 ) (x − 1970)(x − 1980)(x − 1990)
L3 (x) = =
(x3 − x0 )(x3 − x1 )(x3 − x2 ) (2000 − 1970)(2000 − 1980)(2000 − 1990)

25
O polinômio interpolante é:

P(x) = 3710L0 (x) + 4450L1 (x) + 5280L2 (x) + 6080L3 (x).

A população estimada no ano 1985 será

P(1985) = 3710L0 (1985) + 4450L1 (1985) + 5280L2 (1985) + 6080L3 (1985).

P(1985) = 3710(−0.0625) + 4450(0.5625) + 5280(0.5625) + 6080(−0.0625) = 4861.25.

Então a população estimada no ano 1985 é de 4861.25 milhões.


Dado real: Em 1985 a população mundial atingiu os 5000 milhões de pessoas.

2.4 A Fórmula de Newton


A Fórmula de Newton para determinar o polinômio interpolante de f (x) é uma fórmula
mais eficiente que a de Lagrange, pois precisa de menos custo computacional. A ideia
de Newton foi escrever o polinômio interpolante P(x) na forma

P(x) = b0 + b1 (x − x0 ) + b2 (x − x0 )(x − x1 ) + · · · + bn (x − x0 )(x − x1 ) · · · (x − xn−1 ), (2.3)

em que os coeficientes b0 , b1 , · · · , bn devem ser determinados. Está fórmula precisa da


definição das diferenças divididas.
Seja f uma função definida em (n + 1)-pontos x0 , x1 , · · · , xn nos quais yi = f (xi ).

DEFINIÇÃO 2.5. As diferenças divididas de ordem 0, são os valores da própria função


f (x), ou seja,
f [xi ] := f (xi ), i = 0, 1, 2, ..., n

As diferenças divididas de ordem k, para 0 ≤ k ≤ n, são definidas utilizando as


diferenças de ordem k − 1:

f [xi+1 , · · · , xi+k ] − f [xi , · · · , xi+k−1 ]


f [xi , xi+1 , · · · , xi+k ] = , para 0 ≤ i ≤ n − k
xi+k − xi

Por exemplo se n = 3, as diferenças divididas de ordem 0 de f para os valores


x0 , x1 , x2 , x3 são:

f [x0 ] = f (x0 ), f [x1 ] = f (x1 ), f [x2 ] = f (x2 ), f [x3 ] = f (x3 ),

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.

xi yi ordem 0 ordem 1 ordem 2 ordem 3


x0 y0 f [x0 ]
f [x0 , x1 ]
x1 y1 f [x1 ] f [x0 , x1 , x2 ]
f [x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x2 y2 f [x2 ] f [x1 , x2 , x3 ]
f [x2 , x3 ]
x3 y3 f [x3 ]

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 ],

f [x1 , x2 , x3 ] = f [x2 , x1 , x3 ] = f [x2 , x3 , x1 ]

Como P(x) é o polinômio interpolante:

P(x0 ) = f (x0 ), P(x1 ) = f (x1 ), · · · , P(xn ) = f (xn ).

Pela igualdade (2.3) temos que P(x0 ) = b0 . Então

b0 = P(x0 ) = f (x0 ) = f [x0 ].

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,

P(x1 ) − b0 f (x1 ) − f (x0 ) f [x1 ] − f [x0 ]


b1 = = = = f [x0 , x1 ].
x1 − x0 x1 − x0 x1 − x0

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

f [x2 ] = f [x0 ] + f [x0 , x1 ](x2 − x0 ) + b2 (x2 − x0 )(x2 − x1 )

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

Ou seja, b2 é a segunda diferença dividida.


Repetindo o processo para P(xi ), obteremos que os coeficientes do Polinômio Inter-
polante na forma de Newton (2.3) são dados pelas diferenças divididas:

bi = f [x0 , x1 , · · · , xi ], para i = 0, 1, 2, ..., n.

Observação 2.2. Resumindo, o polinômio interpolante na forma de Newton é:

P(x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + · · ·

+ f [x0 , · · · , xn ](x − x0 )(x − x1 ) · · · (x − xn−1 ).

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

Figura 10: Um cabo sob ação do seu próprio peso.

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

Estime a altura a uma distância de 5 metros do centro.

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.

xi yi ordem 0 ordem 1 ordem 2 ordem 3 ordem 4


0 12.00 12.00
0.08
2 12.16 12.16 0.044
0.388 0.0003
7 14.10 14.10 0.0467 0.000049
0.715 0.00089
9 15.53 15.53 0.0556
0.993
12 18.51 18.51

Pela fórmula de Newton

P(x) = 12.00 + 0.08(x − 0) + 0.044(x − 0)(x − 2) + 0.0003(x − 0)(x − 2)(x − 7)+ (2.4)

+0.000049(x − 0)(x − 2)(x − 7)(x − 9).

Substituindo o valor de x = 5 obtemos: P(5) = 13.0618.

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 0.1 0.2 0.4


f (xi ) 2.82 2.67 2.43

Exercı́cio 2.4. Considere a tabela:

xi 1 3 4 5
f (xi ) 0 6 24 60

(a) Determine o polinômio, na forma de Lagrange, sobre todos os pontos.

(b) Calcule f (3.5).

Exercı́cio 2.5. Construir o polinômio de interpolação, na forma de Lagrange, para a função


1
y = sin(πx), escolhendo os pontos: x0 = 0, x1 = 6 e x2 = 12 .
R π
2 dx
Exercı́cio 2.6. A integral elı́ptica é definida por: K(k) = 0 (1−k2 sin2 x)1/2
. Por uma tabela
de valores desta integral, encontramos:

K(1) = 1.5708; K(2) = 1.5719; K(3) = 1.5739.

Determine K(2.5), usando o polinômio de interpolação, na forma de Lagrange, sobre todos


os pontos.

Exercı́cio 2.7. Dada a função tabelada f (x) definida pelos pontos

f (0) = 0, f (1) = 0.5, f (1.5) = 0.4, f (2.5) = 0.285, f (3.0) = 0.25.

(a) Determinar o polinômio de interpolação usando a Fórmula de Newton sobre dois


pontos (interpolação linear).

30
(b) Determinar o polinômio de interpolação usando a Fórmula de Newton sobre três
pontos (interpolação quadrática).

(c) Calcular f (0.5) usando os items a) e b).

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 .

Exercı́cio 2.9. Considere a função f (x) = ln(x) para a qual temos

f (1) = 0, f (2) = 0.6931, f (3) = 1.0986, f (4) = 1.3863.

Usando o Método de Newton encontre uma aproximação de ln(3.7).

Exercı́cio 2.10. Seja f (x) dadas pelos seguintes valores

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.

Obter f (0.47) usando o polinômio de grau 2.



Exercı́cio 2.11. Considere a função f (x) = x definida nos pontos conforme tabela.

Determinar o valor aproximado de 1.12 usando o polinômio de Interpolação de Newton
sobre três pontos.

xi 1.0 1.1 1.15 1.25 1.3


f (xi ) 1 1.048 1.072 1.118 1.14

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:

xi 0.01 0.02 0.03 0.04 0.05 0.06


f (xi ) 4.0379 3.3547 2.9591 2.6813 2.4679 2.2953

Através da Fórmula de Newton, calcule y para x = 0.0378 usando parábola e uma


cúbica.

Exercı́cio 2.14. Dada a tabela abaixo, calcule e3.1 usando um polinômio de interpolação
sobre três pontos:

xi 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8


exi 11.02 13.46 16.44 20.08 24.53 29.96 36.59 44.70

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

Estime o valor de f (1.23).


Exercı́cio 2.16. A raiz de uma função contı́nua pode ser aproximada pela raiz de seu
polinômio. Usando um polinômio de grau dois, encontre x̄ tal que f (x̄) = 0. Use 5 casas
decimais. Os valores exatos de f , para os valores dados de x, são:

f (1) = −0.757, f (2) = 0.141, f (3) = 0.842, f (4) = 0.909.


Exercı́cio 2.17. Uma maneira de se calcular a derivada de uma função em um ponto
x0 , quando não se conhece a expressão da mesma, é usar uma tabela para formar um
polinômio que aproxime a função, derivar então esse polinômio e avaliar sua derivada
em x = x0 . Dados os pontos abaixo, calcule f ′ (0.50) usando um polinômio interpolador de
grau 2:

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.18. Engenheiros e programadores de computadores usam interpolação po-


linomial para fazer gráficos por computador. Por exemplo, suponha que deseja-se
construir uma curva que passa pelos pontos A = (2, 3), B = (4, 2), C = (5, 0) e D = (3, −2)
como na figura. Para auxiliar estes professionais, usando Interpolação de Lagrange, en-
contre uma curva que passa por estes 4 pontos. Faça as hipótesis que ache necessário
para a solução do problema.

Figura 11: Desenho no computador.

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?

Ano 1960 1970 1980 1990 2000 2010


População( em milhões) 72.7759 96.0604 121.7404 149.6483 174.5049 195.2102

33
3 Resolução Numérica de Sistemas Lineares

3.1 Introdução
Nesta seção estudaremos técnicas para resolver sistemas lineares:

a11 x1 + a12 x2 + ... + a1n xn = b1


a21 x1 + a22 x2 + ... + a2n xn = b2
.. (3.1)
.
an1 x1 + an2 xn2 + ... + ann xn = bn

Estes sistemas podem ser escritos na forma

Ax = b (3.2)

em que A = (ai j ) é uma matriz n × n e b é um vetor coluna n × 1. Por álgebra linear


sabemos que se Det(A) , 0 então o sistema tem solução única. Além disso, podemos
resolvê-lo usando a redução de Gauss (ou eliminação Gaussiana), isto é, convertendo o
sistema a um triangular superior.
Aqui estudaremos dois métodos com os quais podemos resolver um ou mais sistemas
de equações lineares: O Método da Decomposição LU e o Método de Gauss-Seidel.

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.

3.2.1 Sistemas Triangulares Inferiores

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:

Observe que da primeira equação x1 = 31 . Substituindo na segunda equação

1 2
x2 = (1 − x1 )/5 = (1 − )/5 = .
3 15

Agora, na terceira equação

2 2 26
x3 = (3 − 2x1 + x2 )/2 = (4 − + )/2 = .
3 15 15

Do Exemplo 3.1, podemos fazer a seguinte observação.

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

3.2.2 Sistemas Triangulares Superiores

São aqueles sistemas Ux = b na qual todos os termos que estão abaixo da diagonal de
U = (ui j ) são 0:

u11 x1 +u12 x2 . . . +u1n xn = b1


+u22 x2 . . . +u2n xn = b2
.. .. . (3.5)
. . = ..
unn xn = bn

Exemplo 3.2. Resolva o sistema

2x1 +3x2 −3x3 = 4


4x2 −x3 = −3 (3.6)
2x3 = 3

35
Solução:

Observe que da terceira equação x3 = 23 . Substituindo na segunda equação

3 3
x2 = (−3 + x3 )/4 = (−3 + )/4 = − .
2 8

Agora, isolando x1 na primeira equação

9 9 59
x1 = (4 + 3x3 − 3x2 )/2 = (4 + + )/2 = .
2 8 16

Do Exemplo 3.2, podemos fazer a seguinte observação.

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

3.3 Método Direto: Decomposição LU


Quando resolvemos vários sistemas lineares

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.

Exemplo 3.3. Resolva o sistema


     
 2 0   3 −4   x1   5 
  
 −3 3   0 −6   x
 =  
  −3  (3.8)
2

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.

Isto será o objetivo da decomposição LU.

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.

DEFINIÇÃO 3.1. Denomina-se menores principais de ordem k de uma matriz A = (ai j ),


com i, j = 1, · · · , n a:
∆k = Det(Ak )

em que Ak = (ai j ), com i, j = 1, · · · , k, é formada pelas k primeiras linhas e k primeiras


colunas de A.

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 

O Teorema abaixo fornece condições para a existência de uma decomposição LU.

TEOREMA 3.1. Considere A = (ai,j ), i, j = 1, · · · , n. Se os menores principais ∆k são distintos


de 0, para k = 1, · · · , n − 1, então A se decompõe, de maneira única, no produto LU em que
L = (li j ) é uma matriz triangular inferior com lii = 1, i = 1, · · · , n e U = (ui j ) é uma matriz
triangular superior.

Demonstração. Provaremos o Teorema por indução. Se n = 1, é claro que A =


(a11 ) pode ser decomposta, escrevendo A = LU = (1)(aii ).
Suponha que, se A é de ordem k − 1, então pode ser decomposta na forma

Ak−1 = Lk−1 Uk−1

em que Lk−1 é triangular inferior e Uk−1 é triangular superior.


Devemos provar que existe uma decomposição para matrizes de ordem k. Seja
A de ordem k, então escrevemos
 
 Ak−1 s 
A =  
r akk 

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 

Note que L é triangular inferior e U é triangular superior. Além disso:


    
 Lk−1 0   Uk−1 L−1
k−1
s   Lk−1 Uk−1 s 
LU =  −1
 
−1 L−1 s
 =   = A
rUk−1 1   0 akk − rUk−1 k−1
  r akk 

Por tanto A se decompõe como um produto LU em que L e U são dadas pelas


fórmulas (3.9). 

38
Observação 3.4. Da prova do Teorema (3.1) podemos concluir que:

(a) Se a matriz é de ordem n×n, é suficiente verificar que os menores determinantes


são distintos do 0 até a ordem n − 1.

(b) A condição que usaremos para a matriz L é que lii = 1, ∀i = 1, · · · , n.

Repare que a hipótese lii = 1, ∀i = 1, ..., n, simplifica os cálculos para encontrar os


coeficientes das matrizes L e U. Quando usamos está hipótese, o método é chamado
Método de Doolittle. Mas podia-se considerar outras hipóteses. Por exemplo, outros
dois métodos de decomposição LU são:

(i) Método de Crout : Quando uii = 1, ∀i = 1, ..., n, e

(ii) Método de Choleski: Quando uii = lii , ∀i = 1, ..., n.

Exemplo 3.5. Resolva o sistema linear


    
 1 −3 1   x1   4 
     
 2 −8 8   x  =  −2 
   2   
     
−6 3 −15 x3 9

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

Encontraremos a primeira linha de U multiplicando a primeira linha de L por U:

1.u11 = 1, 1.u12 = −3, e 1.u13 = 1, então u11 = 1, u12 = −3, u13 = 1.

Também, encontramos a primeira coluna de L multiplicando L pela primeira coluna

39
de U:
l21 u11 = 2, l31 u11 = −6 então l21 = 2, l31 = −6.

Trabalharemos agora com a segunda linha de U. Esta é determinada multiplicando


a segunda linha de L por U:

l21 u12 + u22 = −8, l21 u13 + u23 = 8, então u22 = −2, u23 = 6.

A segunda coluna de L é encontrada multiplicando L pela segunda coluna de U:

15
l31 u12 + l32 u22 = 3, então l32 =
2

Por último, determinamos a terceira linha de U multiplicando a terceira linha de L:

l31 u13 + l32 u23 + u33 = −15, então u33 = −54.


 
 y1 
 
Fazendo y =  y2  := Ux, obtemos dois sistemas lineares que devem ser resolvidos:
 
y3

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

Observação 3.5. Podemos generalizar as fórmulas do exemplo anterior:

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),

e então determinar aproximações da solução utilizando a sequência x(k+1) = φ(x(k) ), a


partir de uma aproximação inicial x(0) . Se a sequência {x(k) } é convergente, então conver-
girá para a solução procurada. Aqui seguiremos esta mesma ideia aplicada a sistemas
lineares.
Apresentaremos o método com um exemplo.

Exemplo 3.6. Encontre uma solução aproximada do sistema linear:

6x1 −x2 −x3 = 3


6x1 +9x2 +x3 = 40
−3x1 +x2 +12x3 = 50

Solução:

Seja x = (x1 , x2 , x3 )t . Note que o sistema se pode escrever

x1 − x62 − x63 = 1
2
2x1
3 +x2 + x93 = 40
9
− x41 x2
+ 12 +x3 = 25
6

no qual os coeficientes da diagonal são todos iguais a 1. Dessa forma, isolando as


variáveis da diagonal
1 x2 x3
x1 = 2 + 6 + 6
x3
x2 = − 2x31 + 409 − 9
,
x1 x2 25
x3 = 4 − 12 + 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

em que estamos utilizando os ı́ndices na parte superior. Suponha que a aproximação


(0) (0) (0)
inicial, para k = 0, é x(0) = (x0 , x1 , x3 )t = (0, 0, 0)t . Cada aproximação é um vetor

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:

a11 x1 + a12 x2 + ... + a1n xn = b1


a21 x1 + a22 x2 + ... + a2n xn = b2
.. (3.11)
.
an1 x1 + an2 xn2 + ... + ann xn = bn

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:

x1 + a∗12 x2 + ... + a∗1n xn = b∗1


a∗21 x1 + x2 + ... + a∗2n xn = b∗2
.. (3.12)
.
a∗n1 x1 + a∗n2 xn2 + ... + xn = b∗n

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

O Sistema Ax = b é agora dado por

(L∗ + I + R∗ )x = b∗

que é equivalente à equação (L∗ + I)x = −R∗ x + b∗ .

DEFINIÇÃO 3.2. O método de Gauss-Seidel é dado pelo processo iterativo:

(L∗ + I)x(k+1) = −R∗ x(k) + b∗

(0) (0) (0)


com condição inicial x(0) = (x1 , x2 , x3 )t . Cada aproximação x(k) é um vetor coluna.

43
Acostuma-se escrevê-lo na forma

x(k+1) = −L∗ x(k+1) − R∗ x(k) + b∗

(k+1) (k+1) (k+1)


para expressar o fato que podemos aproveitar as aproximações x1 , x2 , ..., xi−1
(k+1)
para calcular a seguinte aproximação xi , para i = 2, ..., n.

3.4.2 Critérios de Convergência

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.

O método de Gauss-Seidel converge se um dos dois critérios for satisfeito:

(a) O critério das linhas, isto é, se

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

é a soma de todos os termos da linha i da matriz A∗ , exceto o termo da diagonal.

(b) O critério de Sassenfeld, isto é, se

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

3.4.3 Critério de Parada

Precisamos de um critério para decidir quando parar de realizar as iterações no método


de Gauss-Seidel. Ao igual que na resolução de equações não lineares, temos dois critérios
de parada.

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

ou seja, se cada componente atinge um erro absoluto menor que ǫ.

• 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 ǫ.

Exemplo 3.7. Aplique o método de Gauss-Seidel para resolver:

9x1 −3x2 +x3 = 2


−2x1 +5x2 +3x3 = −1
−x1 2x2 −7x3 = 3

Considerando um erro absoluto de ǫ = 0.04.

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.

(k) (k) (k)


k x1 x2 x3 erro 1 erro 2 erro 3
0 0 0 0
1 0.22222 -0.11111 -0.49206
2 0.23985 0.19117 -0.40821
3 0.33130 0.17744 -0.35760 0.09145 0.01373 0.05061
4 0.32110 0.143 -0.37910 0.0102 0.03444 0.0215

Por tanto, uma solução aproximada é (0.32110, 0.143, −0.37910).

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.

x1 + 2x2 = 3 x1 + 2x2 = 3 x1 + 2x2 = 3 2x1 + x2 + x3 = 1


(a) (b) (c) (d)
x1 − x2 = 0 2x1 + 4x2 = 6 2x1 + 4x2 = −6 2x1 + 4x2 − x3 = −1

Exercı́cio 3.2. Dê a Fatoração LU de cada matriz e resolva o sistema:

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

Exercı́cio 3.3. Utilize a Fatoração LU para resolver o sistema linear a seguir:

x1 + x2 + 2x3 + 4x4 = 7, 12
2x1 + 5x2 + x3 + 2x4 = 14, 90
x1 + x2 + 5x3 + 6x4 = 12, 02
4x1 + 6x2 + 2x3 + x4 = 20, 72

Exercı́cio 3.4. Considere o sistema linear

5x1 + 2x2 + x3 = 7
−x1 + 4x2 + 2x3 = 3
2x1 − 3x2 + 10x3 = −1

(a) Verificar a possibilidade de aplicação do método de Gauss-Siedel, usando o Critério


de Sassenfeld.

(b) Se possı́vel, resolvê-lo pelo método do item (a), obtendo o resultado com erro
absoluto < 10−2 .

Exercı́cio 3.5. Considere os seguintes sistemas de equações lineares

−9x1 + 5x2 + 6x3 = 11 5x1 + 2x2 + x3 = −12


(I) 2x1 + 3x2 + x3 = 4 (II)−x1 + 4x2 + 2x3 = 20
−x1 + x2 − 3x3 = −2 2x1 − 3x2 + 10x3 = 3

(a) Resolva os sistemas dados usando o método de Decomposição LU.

(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:

4x1 + 2x2 + 6x3 = 1 2x1 + x2 + 3x3 = 9 2x2 + 2x3 = 8


(I) 4x1 + x2 + 3x3 = 2 (II) −x2 + x3 = 1 (III) x1 + 3x2 = 6
−x1 + 5x2 + 3x3 = 3 x1 + 3x3 = 3 3x1 + x2 + x3 = 4

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

Assim, é necessario o uso de integração numérica.


Em outros casos, quando temos pouca informação sobre a função, por exemplo,
quando conhecemos a função em um número finito de pontos, também é necessária
alguma técnica de integração numérica. Por exemplo no seguinte problema:

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.

t(s) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5


v(m/s) 0 4.67 7.34 8.86 9.73 10.22 10.51 10.67 10.76 10.81 10.81

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

dado que a distância é a integral da velocidade em relação ao tempo.


Numa terceira situação, pode ser que exista uma fórmula para integrar f (x) mas tal
vez está fórmula não seja a maneira mais eficiente de calcular I( f ).

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

ou xi = x0 + ih, para todo i = 0, 1, ..., n.

Figura 12: Polinômio Pn (x) que interpola f (x).

Então pode-se aproximar a integral de f (x) usando a integral de Pn (x).

Se Pn (x) interpola f (x) nos pontos x0 = a, x1 , ..., xn = b, então


Z b Z b
I( f ) = f (x)dx ≈ Pn (x)dx.
a a

Assim, aproximar I( f ) reduz-se a determinar a integral de um polinômio, o qual é fácil


de realizar.

4.2.1 Estudo do Erro

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:

f (x) = Pn (x) + Rn (x) (4.2)

obtida na interpolação de Newton, em que Pn (x) é o polinômio interpolante e Rn (x) é o


resto dado por
Rn (x) = (x − x0 )(x − x1 )...(x − xn ) f [x0 , x1 , ..., xn , x]

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

a partir do qual deduzimos que o erro cometido En é dado por


Z b
En = Rn (x).
a

Repare que pode-se escrever o resto na forma Rn (x) = ψ(x) f [x0 , x1 , ..., xn , x] em que

ψ(x) = (x − x0 )(x − x1 )...(x − xn )

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)!

Assim, o erro é dado pela integral

xn
f (n+1) (ξ)
Z
En = ψ(x)dx. (4.3)
x0 (n + 1)!

O primeiro resultado é o seguinte:

PROPOSIÇÃO 4.1. O erro En é limitado pela seguinte expressão:


Z xn
K
|En | ≤ |ψ(x)|dx, (4.4)
(n + 1)! x0

em que
n o
K = max | f (n+1) (x)| : x0 ≤ x ≤ xn .

Demonstração. Pela Equação (4.3), obtemos

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

4.3 Regra dos Trapézios.


A regra dos trapézios é a mais simple das regras de integração, ou seja, quando con-
sideramos n = 1. Isto é a interpolação será dada sobre dois pontos x0 = a e x1 = b
e o polinômio interpolante P1 (x) é uma reta. Definamos h = b − a e seja y0 = f (x0 ) e
y1 = f (x1 ). O polinômio P1 (x) pode ser encontrado usando as diferenças divididas:

xi yi ordem 0 ordem 1
x0 y0 y0
y1 −y0
h
x1 y1 y1

Figura 13: Aproximação usando um polinômio de grau 1.

Pela fórmula de interpolação de Newton, o polinômio interpolante é

y1 − y0
P1 (x) = y0 + (x − x0 )
h

Então a aproximação de I( f ) será


Z b Z x1 Z x1 h y1 − y0 i
I( f ) = f (x)dx ≈ P1 (x)dx = y0 + (x − x0 ) dx.
a x0 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

Observação 4.2. A fórmula

h
I( f ) ≈ [ f (x0 ) + f (x1 )].
2

é denominada Regra do Trapézio porque a área abaixo do polinômio P1 (x) corres-


ponde à área de um trapézio.

4.3.1 Limitante superior do erro na Regra do Trapézio

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 }.

Fazendo a mudança x = x0 + u, obtemos

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

e o limitante superior para o erro E1 é dado por

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

Logo a integral pertence ao intervalo I( f ) ∈ [0.75 − 0.16666, 0.75 + 0.16666] =


[0.58334, 0.91666].

4.3.2 Regra do Trapézio Generalizada

A Regra dos Trapézios Generalizada consiste na subdivisão do intervalo de integração


b−a
[a, b] em n sub-intervalos Ii = [xi−1 , xi ] para i = 1, ..., n, cada um de comprimento h = n ,
definidos pelos pontos

x0 = a, x1 = a + h, x2 = a + 2h, ..., xi = a + ih, ..., xn = b,

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.

Figura 14: Regra do Trapézio Generalizada.

54
A aproximação no intervalo Ii é dada por

h
Ai = [ f (xi−1 ) + f (xi )].
2

Assim, a aproximação será:

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

Então o erro total E da regra generalizada é limitado pela expressão:

h3
|E| ≤ E(1) + E(2) + ... + E(n) ≤ n max{| f (2) (x)| : x0 ≤ x ≤ xn }.
12

Sabendo que nh = xn − x0 , obtemos

h2
|E| ≤ (xn − x0 ) max{| f (2) (x)| : x0 ≤ x ≤ xn }. (4.9)
12

Exemplo 4.3. Encontre aproximadamente a integral


Z 2 √
1 + x2 dx
0

e determine um limitante superior para o erro cometido ao aproximá-la pela Regra do


Trapézio Generalizada com n = 4.

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 ).

Encontraremos P2 (x) usando as diferenças divididas dadas na tabela abaixo:

xi yi ordem 0 ordem 1 ordem 2


x0 y0 y0
y1 −y0
h
y2 −2y1 +y0
x1 y1 y1 2h2
y2 −y1
h
x2 y2 y2

56
Figura 15: Aproximação usando um polinômio de grau 2

Pela fórmula de Interpolação de Newton, o polinômio P2 (x) é dado por:

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
.

Observação 4.3. A Fórmula


Z b
h
f (x)dx ≈ [ f (x0 ) + 4 f (x1 ) + f (x2 )] (4.10)
a 3

é chamada regra 1/3 de Simpson.

4.4.1 Limitante superior para o Erro E2 na regra 1/3 de Simpson


a+b
Neste caso ψ(x) = (x − x0 )(x − x1 )(x − x2 ) e desde que x1 = a + h = 2 , segue que
Z x2
ψ(x)dx = 0 (4.11)
x0

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 .

A tabela de diferenças divididas para estes 4 pontos é

xi yi ordem 0 ordem 1 ordem 2 ordem 3


x0 y0 y0
y1 −y0
h
y2 −2y1 +y0
x1 y1 y1 2h2
y2 −y1 4y1 −3y2 −y0
h 2h3
y1 −y2
x2 y2 y2 h2
y1 −y2
h
x1 y1 y1

Pela fórmula interpolátoria de Newton,

y 0 − y1 y2 − 2y1 + y0 4y1 − 3y2 − y0


P∗ (x) = y0 + (x−x0 )+ 2
(x−x0 )(x−x1 )+ (x−x0 )(x−x1 )(x−x2 ).
h 2h 2h3
Em outras palavras
4y1 − 3y2 − y0
P∗ (x) = P2 (x) + ψ(x).
2h3
R x2
Integrando entre x0 e x2 e como x0
ψ(x)dx = 0 obtemos
Z x2 Z x2 Z x2 Z x2
∗ 4y1 − 3y2 − y0
P (x)dx = P2 (x)dx + ψ(x)dx = P2 (x)dx.
x0 x0 2h3 x0 x0

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 )

obtemos que, existe um ξ ∈ [x0 , x2 ] tal que

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

Substituindo na equação (4.12),


K 4h5
|E| ≤
4! 15
ou seja,

O erro na regra 1/3 de Simpson é

h5 n o
|E| ≤ max | f (4) (x)| : a ≤ x ≤ b
90

Exemplo 4.4. Encontre uma aproximação da integral


Z 2
x2 ln(x)dx
1

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

f (x1 ) = 0, f (x1 ) = 0, 91229, f (x2 ) = 2, 77258.

Substituindo na aproximação dada pela equação (4.10) da Regra 1/3 de Simpson:


Z 2
0, 5
x2 ln(x)dx ≈ [0 + 4(0, 91229) + 2, 77258] = 1, 07029.
1 3

Repare que f (4) (x) = − x22 então

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

Analogamente que no caso da Regra do Trapézio, a Regra 1/3 de Simpson pode-se


generalizar. Isto é, podemos dividir o intervalo de integração [a, b] em n sub-intervalos
e aplicar a regra 1/3 de Simpson a cada dois sub-intervalos. Isto só é possı́vel de fazer
se n é par.
b−a
Definimos h = n , os pontos

x0 = a, x1 = a + h, x2 = a + 2h, ..., xn = b.

e os intervalos Ii = [xi−1 , xi ]. A figura abaixo mostra a sub-divisão com n = 6 sub-


intervalos.

Figura 16: Regra 1/3 de Simpson Generalizada.

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

Simplificando, obtemos a Regra 1/3 de Simpson Generalizada


Z xn
h X X
f (x)dx ≈ [ f (x0 ) + 4 f (xi ) + 2 f (xi ) + f (xn )]. (4.13)
x0 3
i impar i par

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

Sabendo que nh = xn − x0 e sustituindo na desigualdade anterior, o erro na Regra 1/3 de


Simpson Generalizada é

h4 n o
|E| ≤ (xn − x0 ) max | f (4) (x)| : a ≤ x ≤ b . (4.14)
180

Exemplo 4.5. Encontre uma aproximação da integral


Z π
6
ln(cos x)dx
0

pela Regra 1/3 de Simpson Generalizada e determine o menor número de sub-intervalos


que são necessários para que o erro seja menor que 10−6 .

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

Logo n > 4, 5729. Como n deve ser par, o menor n é 6.


π π
Com este dado, podemos calcular a integral. Teremos que h = 6n = 36 . Os
pontos estão tabelados abaixo:

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

+2(−0, 015308 − 0, 062202) − 0, 143841]

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 ).

Figura 17: Aproximação usando um polinômio de grau 3.

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

também chamada Regra 3/8 de Simpson.

4.5.1 Limitante superior para o erro na regra 3/8 de Simpson

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

Exemplo 4.6. A distância vertical percorrida por um projetil entre x = 8 e x = 30


segundos é dada pela fórmula
Z 30  1400 
[2000 ln − 9, 8x]dx.
8 1400 − 21x

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

Pela regra 3/8 de Simpson generalizada


Z 30  1400  3(22/3)
[2000 ln − 9, 8x]dx ≈ [177, 2667 + 3(372, 4629)+
8 1400 − 21x 8

+3(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

Substituindo no limitante do erro dado pela inequação (4.17):

3 22 5
|E| ≤ .( ) .(0, 0063889) = 5, 081178. (4.18)
80 3

4.5.2 Regra 3/8 de Simpson Generalizada

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

que simplificando e substituindo nh = xn − x0 fica

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

em que r0 = 4.5 é o raio da secção circular do tubo, usando os valores da tabela:

r 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5


v(r) 3 2.9499 2.8942 2.8312 2.7584 2.5642 2.4199 2.1985 2.1001 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

Pela regra 3/8 de Simpson generalizada,

3(0, 5)
Q ≈ 2π. [0 + 3(1, 47495 + 2, 8942 + 5, 5168 + 6, 4105 + 7, 6947 + 8, 4004)+
8

+2(4, 2468 + 7, 2597) + 0].

Então Q ≈ 141, 59273.


Neste exemplo não podemos calcular um limitante superior para o erro pois não
temos a expressão analı́tica de f (r).

65
4.6 Exercı́cios
Exercı́cio 4.1. Aproxime as seguintes integrais usando:

(a) a regra dos trapézios;

(b) as regras de Simpson;


Z 1 Z 1,6 Z 1,5 Z π/2
4 2x 2
(a) x dx; (b) 2
dx; (c) x ln(x)dx; (d) x sin(x)dx.
0.5 1 x −4 1 0

Exercı́cio 4.2. Aproxime as integrais do exercı́cio 5.1 usando

(a) a regra dos trapézios com n = 4;


1
(b) a regra 3 de Simpson com n = 6;
3
(c) a regra 8 de Simpson com n = 9.
R2
1
Exercı́cio 4.3. Determine o mı́nimo n de subintervalos para aproximar I = 0 x+4
dx com
1
precisão de 10−5 e calcule a aproximação. Use (a) a regra dos trapézios, (b) a regra 3 de
3
Simpson, e (c) a regra 8 de Simpson.
R1
Exercı́cio 4.4. Calcule o valor aproximado da 0
3e−x dx usando:

(a) Regra de trapézios generalizada, com h = 1/5.


1
(b) Regra 3 de Simpson generalizada, com h = 1/6.
3
(c) Regra de Simpson generalizada, com h = 1/6.
8
R 2 cos(x)
Exercı́cio 4.5. Calcule 1 x+2 dx usando 6 subintervalos:

(a) Regra dos trapézios generalizada.

(b) Regra 1/3 de Simpson generalizada.

(c) Regra 3/8 de Simpson generalizada.

Exercı́cio 4.6. Determine o menor número de subintervalos em que podemos dividir o


R 0.7
intervalo [0.1, 0.7] para calcular I = 0.1 (e−3x + 7x)dx usando a regra dos trapézios com um
erro menor ou igual a 0.1. Para esta divisão calcule o valor aproximado de I.

Exercı́cio 4.7. Determine o menor número de subintervalos em que podemos dividir


R 1.8
o intervalo [0.2, 1.8] para calcular 0.2 (x2 + sin(x) + 3)dx com um erro menor a 0.0001
usando:

(a) Regra 1/3 de Simpson generalizada.

(b) Regra 3/8 de Simpson generalizada.


R 5.6
Exercı́cio 4.8. Calcule o valor aproximado de 1.6
(ln(x + 8) − 2x)dx usando a regra 1/3 de
Simpson generalizada com 6 subintervalos e um limitante superior para o erro.

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.

t(s) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5


v(m/s) 0 4.67 7.34 8.86 9.73 10.22 10.51 10.67 10.76 10.81 10.81

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)

onde k = sin( θ20 ) e g é a aceleração da gravidade. Se L = 1m e θ0 = 42o , use a regra 3/8 de


Simpson com n = 6 para encontrar o perı́odo.

Figura 18: Pêndulo.

R1
x
Exercı́cio 4.12. Seja a integral I = 0 1+x2
dx.

(a) Aproxime o integrando por um polinômio de grau 3, p3 , passando pelos pontos


x0 = 0, x1 = 0, 3, x2 = 0, 7 e x3 = 1.

(b) Calcule o valor exato de I.

(c) Calcule o valor aproximado de I usando o polinômio p3 .

Exercı́cio 4.13. O perimetro p de uma elipse de semi-eixos a e b é dado pela fórmula


Z 2π q
p= a2 sin2 (t) + b2 cos2 (t)dt (4.22)
0

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.

Exercı́cio 4.14. (a) Utilizando a Fórmula de Simpson, calcule numericamente a integral


definida: Z π
3 2 (t)
I= ecos dt (4.23)
− π3
2 (t)
a partir dos dados da seguinte tabela: onde e = 2.718282 e f (t) = ecos .

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)).

Exigindo que φ(x0 ) = y0 , obteremos o problema de valor inicial (PVI)




 y = f (x, y)


 (5.1)
 y(x0 ) = y0

A condição y(x0 ) = y0 é chamada condição inicial do PVI.


Embora existam técnicas para resolver certas equações diferenciais, para a maioria
delas não existe uma maneira direta de achar uma expressão analı́tica da solução φ(x).
Nestes casos, só é possı́vel determinar uma solução numérica de φ(x). Resolver numeri-
camente uma equação diferencial significa obter um conjunto de pontos (xn , yn ) tais que
yn aproxima o valor da função em xn ,

φ(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.

com a qual escolhemos as aproximações yn . No que segue apresentaremos o Método de


Euler e os Métodos de Runge-Kutta.

5.3 O Método de Euler


O Método de Euler está baseado em aproximar os valores dos yn usando a reta tangente
à solução y = φ(x). Por exemplo, suponha que desejamos calcular a aproximação y1 a
partir da aproximação y0 , em que y0 é o valor inicial. Como sabemos que a derivada é a
inclinação K da reta tangente no ponto (x0 , y0 ), podemos escrever,

K = φ′ (x0 ).

Então a equação L(x) da reta tangente é

(y − y0 ) = K(x − x0 ), ou L(x) = y = y0 + φ′ (x0 )(x − x0 )

Figura 20: Interpretação geométrica do Método de Euler.

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:

φ(x1 ) ≈ y1 = L(x1 ) = y0 + φ′ (x0 )(x1 − x0 ) = y0 + f (x0 , y0 )(x1 − x0 ). (5.2)

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 ).

Em forma geral, a fórmula para o Método de Euler é:

yn+1 = yn + h f (xn , yn ), ∀n = 0, 1, ...., N − 1. (5.3)

Exemplo 5.1. Pelo método de Euler, determine numericamente uma aproximação de


y(1) no PVI 
′ 3
 y =x −y


 (5.4)
 y(0) = 2

Use N = 4.

Solução:

Observe que f (x, y) = x3 − y, x0 = 0 e y0 = 2. Como desejamos y(1), x4 = 1 e então


x ∈ [0, 1]. Assim

1−0
h= = 0, 25; x0 = 0; x1 = 0, 25; x2 = 0, 5; x3 = 0, 75 e x4 = 1.
4

Queremos determinar y4 que aproxima y(1). Pela fórmula

yn+1 = yn + h f (xn , yn ), ∀n = 0, 1, ...., N − 1.

temos que , para n = 0, 1, ..., 3

yn+1 = yn + h f (xn , yn ), ou yn+1 = yn + 0, 25(x3n − yn )

Se n = 0, teremos y1 = y0 + 0, 25(x30 − y0 ). Substituindo

y1 = 2 + 0, 25(03 − 2) = 1, 5.

71
Se n = 1, teremos y2 = y1 + 0, 25(x31 − y1 ). Substituindo

y2 = 1, 5 + 0, 25(0, 253 − 1, 5) = 1, 12890

Continuando
y3 = y2 + 0, 25(x32 − y2 ) = 0, 8779

e
y4 = y3 + 0, 25(x33 − y3 ) = 0, 7638.

Dessa forma, y(1) ≈ 0, 7638.

Repare que o PVI do Exemplo 5.1 pode-se resolver analı́ticamente. A sua solução é

y(x) = x3 − 3x2 + 6x − 6 + 8e−x

Na figura abaixo apresentamos a verdadeira solução e comparamos com as aproximações


obtidas pelo método de Euler.

Figura 21: Solução real e solução aproximada do PVI do Exemplo 5.1.

No Exemplo 5.1 existia uma solução analı́tica do PVI. Agora apresentaremos um


exemplo no não temos uma expressão analı́tica da solução. Então a única maneira
de acessar à solução é a análise numérica.

Exemplo 5.2. Determine numericamente uma aproximação de y(3) no PVI

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

Com este y1 podemos calcular y2 . Se n = 1 então

y21 − x1  1, 12 − 0, 5 
y2 = y1 + 0, 5( ) = 1, 1 + 0, 5 = 1, 171.
5 5

Continuando este processo, calculamos

 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

Na figura abaixo mostramos o gráfico dos pontos que aproximam a solução do


Exemplo 5.2.

Figura 22: Solução aproximada do PVI do Exemplo 5.2.

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)

Porém, encontrar K∗ é tão dificil quanto achar φ(x1 ).

Figura 23: A reta L∗ .

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

Nos métodos de Runge-Kutta de ordem 2, aproximamos K∗ utilizando duas inclinações.


Para isso, considere um número real a2 ∈ [0, 1] e defina o ponto

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

K2 = f (P1 ) = f (x0 + a2 h, y0 + a2 hK1 ).

Esta reta pode ser transladada ao ponto (x0 , y0 ) para obter uma reta L2 com inclinação
K2 .

Figura 24: Interpretação geométrica do Método de Runge-Kutta de ordem 2.

Com estas duas retas L1 e L2 podemos aproximar a inclinação K∗ . O critério que


utilazaram o Runge e o Kutta foi considerar a média ponderada de K1 e K2 como
aproximação de K∗ . Desse modo, considerando c1 , c2 ∈ [0, 1] tal que c1 + c2 = 1, a
aproximação de K∗ é
K∗ ≈ c1 K1 + c2 K2 .

Substituindo na equação (??), podemos dizer que φ(x1 ) é aproximada por y1 :

φ(x1 ) ≈ y1 = y0 + h(c1 K1 + c2 K2 ). (5.8)

Até este ponto, os valores de a2 , c1 e c2 foram arbitrários. Mas, substituindo na


série de Taylor da Solução φ(x) é possı́vel mostrar (depois de algumas contas) que estes
coeficientes estão relacionados pelas seguintes equações:

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

Generalizando para os pontos xn , obtemos para todo n = 0, 1, ..., N − 1:





 yn+1 = yn + h(c1 K1 + c2 K2 )

K1 = f (xn , yn ) (5.10)




 K = f (x + a h, y + a hK )

2 n 2 n 2 1

Os métodos de Runge-Kutta de ordem 2 mais utilizados são:

(a) O Método de Euler Modificado. Neste caso c1 = 0, c2 = 1, a2 = 1/2. Para


n = 0, 1, ..., N − 1, as fórmulas são



 yn+1 = yn + hK2

K1 = f (xn , yn ) (5.11)



 K = f (x + h , y + hK1 )


2 n 2 n 2

(b) O Método de Euler Melhorado ou Aperfeiçoado. Neste caso c1 = 1/2, c2 =


1/2, a2 = 1. Para n = 0, 1, ..., N − 1, as fórmulas são

yn+1 = yn + h2 (K1 + K2 )





K1 = f (xn , yn ) (5.12)




 K = f (x + h, y + hK )

2 n n 1

Exemplo 5.3. Pelo Método de Euler Aperfeiçoado, determine numericamente uma


aproximação de y(1) no PVI 
′ 3
 y =x −y


 (5.13)
 y(0) = 2

Use N = 4.

Solução:

Observe que f (x, y) = x3 − y, x0 = 0 , y0 = 2 e N = 4. Como antes

1−0
h= = 0, 25; x0 = 0; x1 = 0, 25; x2 = 0, 5; x3 = 0, 75; x4 = 1.
4

Queremos determinar y4 que aproxima y(1). Pela fórmula do Método de Euler

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

K2 = f (x0 + h, y0 + hK1 ) = f (0 + 0.25, 2 + 0.25(−2)) = f (0.25, 1.5) = −1, 4843.

Por tanto
h 0.25
y1 = y0 + (K1 + K2 ) = 2 + (−2 − 1, 4843) = 1, 5644
2 2
Se n = 1, teremos

K1 = f (x1 , y1 ) = x31 − y1 = 0, 253 − 1, 5644 = −1, 5487

K2 = f (x1 +h, y1 +hK1 ) = f (0.25+0.25, 1.5644+0.25(−1.5487)) = f (0.5, 1.1772) = −1.0522

Por tanto

h 0.25
y2 = y1 + (K1 + K2 ) = 1, 5644 + (−1, 5487 − 1, 0555) = 1.2388.
2 2

Se n = 2, teremos

K1 = f (x2 , y2 ) = x32 − y2 = 0, 53 − 1, 2388 = −1, 1138

K2 = f (x2 +h, y2 +hK1 ) = f (0.5+0.25, 1.2388+0.25(−1.1138)) = f (0.75, 0.9603) = −0.5384

Por tanto

h 0.25
y3 = y2 + (K1 + K2 ) = 1, 2388 + (−1, 1138 − 0, 5384) = 1.0322.
2 2

Se n = 3, teremos

K1 = f (x3 , y3 ) = x33 − y3 = 0, 753 − 1, 0322 = −0, 6103.

K2 = f (x3 + h, y3 + hK1 ) = f (0.75 + 0.25, 1.0322 + 0.25(−0.6103)) = f (1, 0.8796) = 0.1204

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

y(x) = x3 − 3x2 + 6x − 6 + 8e−x

concluı́mos que, como visto na figura abaixo, a solução pelo Método Aperfeiçoado é
melhor que à obtida pelo Método de Euler.

Figura 25: Solução real e solução aproximada do PVI do Exemplo 5.3.

5.4.2 Métodos de Runge Kutta de Ordem 3

Os métodos de Runge-Kutta de ordem 3 utilizam 3 inclinações para aproximar K∗ .


Ao igual que nos métodos de ordem 2, escolhemos a2 ∈ [0, 1] e definimos o ponto

P1 = (x0 + a2 h, y0 + a2 hK1 )

Com este ponto definimos a inclinação

K2 = f (P1 ) = f (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 )

Com este ponto podemos definir a inclinação K3 dada por

K3 = f (P2 ) = f (x0 + a3 h, y0 + a3 hK2 )

Então a média ponderada de K1 , K2 e K3 será a nossa aproximação de K∗ :

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 ).

Generalizando para o ponto (xn , yn ):





 yn+1 = yn + h(c1 K1 + c2 K2 + c3 K3 )

K1 = f (xn , yn )








 K2 = f (xn + a2 h, yn + a2 hK1 )

K3 = f (xn + a3 h, yn + a3 hK2 )

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).

Os métodos de Runge-Kutta de ordem 3 que são mais utilizados são:

(a) O Método de Heun. Neste caso c1 = 1/4, c2 = 0, c3 = 3/4, a2 = 1/3, a3 = 2/3.


Para n = 0, 1, ..., N − 1, as fórmulas são



 yn+1 = yn + h4 (K1 + 3K3 )

K1 = f (xn , yn )



(5.14)

K2 = f (xn + h3 , yn + hK3 1 )





 K3 = f (xn + 2h , yn + 2hK2 )


3 3

(b) O Método de Nystrom. Neste caso c1 = 1/4, c2 = 3/8, c3 = 3/8, a2 = 2/3, a3 =


2/3. Para n = 0, 1, ..., N − 1, as fórmulas são



 yn+1 = yn + 8h (2K1 + 3K2 + 3K3 )

K1 = f (xn , yn )



(5.15)

2hK1
K2 = f (xn + 2h

3 , yn + 3 )




2hK2
K3 = f (xn + 2h

3 , yn + 3 )

Exemplo 5.4. Pelo Método de Nystrom, determine numericamente uma aproximação


de y(1) no PVI 
′ 3
 y =x −y


 (5.16)
 y(0) = 2

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

y2 = 1, 2142; y3 = 1, 0025; y4 = 0, 9338.

Assim, o valor procurado é y(1) ≈ 0, 9338.

Sabemos que a solução verdadeira é

y(x) = x3 − 3x2 + 6x − 6 + 8e−x

Da figura abaixo podemos verificar que método de Nystrom fornece uma melhor
aproximação que o método de Euler Aperfeiçoado.

Figura 26: Solução real e solução aproximada do PVI do Exemplo 5.4.

80
5.4.3 O Método de Runge-Kutta de Ordem 4

Como é claro, os Métodos de Runge-Kutta de Ordem 4 utilizam 4 inclinações para


aproximar K∗ . Estas inclinações são as seguintes

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 )

A aproximação de K∗ será dada pela média ponderada

K∗ ≈ c1 K1 + c2 K2 + c3 K3 + c4 K4 ,

e yn+1 será dado por

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 .

Com os dados anteriores, o método de Runge-Kutta de ordem 4 é definido pelas


fórmulas, ∀n = 0, 1, ..., N − 1:




 yn+1 = yn + h6 (K1 + 2K2 + 2K3 + K4 )




 K1 = f (xn , yn )
hK1

K2 = f (xn + h2 , yn + 2 )
(5.17)



hK2

h
K3 = f (xn + 2 , yn + 2 )






K4 = f (xn + h, yn + hK3 )

Exercı́cio 5.1. Com N = 3, resolva pelo método de Runge-Kutta de ordem 4 o seguinte


PVI 
′ 2 2
 y =x −y +3


 (5.18)

 y(0) = 0.5

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

que possui uma variável independente x e duas variáveis dependentes y e z. As ex-


pressões y′ e z′ são as derivadas de y e z em relação a x e as condições y(x0 ) = y0 e
z(x0 ) = z0 são chamadas condições iniciais. Resolver este sistema significa encontrar
duas funções y(x) e z(x) que verificam as equações (5.19):
 ′


 y (x) = f (x, y(x), z(x))

 ′

 z (x) = g(x, y(x), z(x))

 y(x ) = y , z(x ) = z

0 0 0 0

Suponha que desejamos resolvê-lo em N + 1 pontos separados igualmente por uma


constante h:
x0 ; x1 = x0 + h; x2 = x0 + 2h; ...; xN = x0 + Nh.
xN −x0
Isto é h = N .
Defina uma nova variável
U = (y, z)

dependente de x e uma função de várias variáveis

F(x, U) = F(x, y, z) = ( f (x, y, z), g(x, y, z)).

Assim o sistema (5.19) pode ser escrito na forma




 U′ = F(x, U)
(5.20)


 U(x0 ) = (y(x0 ), z(x0 )) = (y0 , z0 )

que é um Problema de Valor Inicial de primeira ordem em duas variáveis. O PVI


(5.20) pode ser resolvido usando algum dos Métodos estudados nas seções anteriores,
aplicando as fórmulas à função F(x, U) ao invés de à função f (x, y). Deve-se ter cuidado
que F(x, U) é uma função vetorial. Por exemplo, adaptando o Método de Euler a este
sistema, as fórmulas para as aproximação de y e de z são:

Un+1 = Un + hF(xn , Un )

ou, equivalentemente

(yn+1 , zn+1 ) = (yn , zn ) + hF(xn , yn , zn ) = (yn , zn ) + h( f (xn , yn , zn ), g(xn , yn , zn )).

82
Isolando yn+1 e zn+1 , 
 yn+1 = yn + h f (xn , yn , zn )


 (5.21)
 zn+1 = zn + hg(xn , yn , zn )

Assim as equações do Método de Euler para um sistema de duas equações diferenciais


são as seguintes:

Para todo n = 0, 1, ..., N − 1,



 yn+1 = yn + h f (xn , yn , zn )


 (5.22)
 zn+1 = zn + hg(xn , yn , zn )

com condições iniciais x0 , y0 e z0 .

Exemplo 5.5. Resolva o sistema pelo método de Euler


 ′


 y = x2 − y2 + 2z

z′ = xy − z2 (5.23)




 y(0) = 1, z(0) = 2

determinando y(1) e z(1), com N = 3.

Solução:

Observe que f (x, y, z) = x2 − y2 + 2z e g(x, y, z) = xy − z2 . Defina U = (y, z) e

F(x, U) = F(x, y, z) = ( f (x, y, z), g(x, y, z)) = (x2 − y2 + 2z, xy − z2 )

1−0
e x0 = 0, y0 = 1 e z0 = 2. Como x ∈ [0, 1], h = 3 = 1/3. Os pontos xn são

x0 = 0, x1 = 1/3 = 0.3333; x2 = 2/3 = 0.6666; x3 = 1.

Pelas fórmulas de Euler, para n = 0, 1, ..., N − 1,



2 2
 yn+1 = yn + h f (xn , yn , zn ) = yn + h(xn − yn + 2zn )


 zn+1 = zn + hg(xn , yn , zn ) = zn + h(xn yn − z2n )

com condições iniciais y0 = 1 e z0 = 2.


Se n = 0,

2 2 2 2
 y1 = y0 + h(x0 − y0 + 2z0 ) = 1 + (1/3)(0 − 1 + 2(2)) = 2


 z1 = z0 + h(x0 y0 − z2 ) = 2 + (1/3)((0)(1) − (2)2 ) = 0.6666


0

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.


Por tanto, as aproximações de y(1) e z(1) são y3 = 1, 3505 e z3 = 0, 8128.

Observação 5.1. Duas observações são importantes:

(a) Pode-se utilizar a mesma técnica para resolver numericamente sistemas de n


equações.

(b) É possı́vel adaptar também os Métodos de Runge-Kutta para resolver sistemas


de equações.

Exercı́cio 5.2. Encontre as fórmulas para resolver o sistema de 3 equações diferenciais





 y′ = f (x, y, z, w)

z′ = g(x, y, z, w)



(5.24)

w′ = h(x, y, z, w)






 y(x0 ) = y0 , z(x0 ) = z0 , w(x0 ) = w0

pelo Método de Euler Modificado.

5.5.1 Aplicação a equações diferenciais de segunda ordem

A solução numérica de um sistema de equações lineares pode-se aplicar para resolver


equações diferenciais ordinárias de segunda ordem da forma

y′′ = g(x, y, y′ ) (5.25)

sujeito as condições iniciais y(x0 ) = y0 e y′ (x0 ) = y′0 . A ideia é fazer a mudança

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).

Exemplo 5.6. Resolva pelo método de Euler o PVI de segunda ordem

mu′′ + ku = au′ − b(u′ )3

em que m = 1, k = 1, a = 2, b = 3, u(0) = 1, u′ (0) = −0.5. Determine aproximadamente


u(1) com N = 3.

Solução:
Substituindo os dados a equação fica:

u′′ = −u + 2u′ − 3(u′ )3 .

Fazendo y = u e z = u′ , então y′ = u′ = z e z′ = u′′ . Logo, obtemos um sistema de


equações de primeira ordem



 y′ = z
 z′ = −y + 2z − 3z3

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

Assim, u(1) = y(1) ≈ 0.1915 e u′ (1) = z(1) ≈ −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:

(a) y′ (x) = 1 + (x − y)2 , com 2 ≤ x ≤ 3, y(2) = 1 e h = 0, 5


y
(b) y′ (x) = 1 + x , com 1 ≤ x ≤ 2, y(1) = 2 e h = 0, 5

(c) y′ (x) = cos(2x) + sin(3x), com 0 ≤ x ≤ 1, y(0) = 1 e h = 0, 25

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

(b) y(x) = x ln(x) + 2x


1
(c) y(x) = 2 sin(2x) − 31 cos(3x) + 4
3

Exercı́cio 5.4. Aplique o Método de Euler para aproximar as soluções dos seguintes
problemas de valor inicial:

(a) y′ (x) = x2 + y2 , com 0 ≤ x ≤ 1, y(0) = 0 e h = 0, 25.

(b) y′ (x) = x − y2 , com 0 ≤ x ≤ 1, y(0) = 1, e h = 0, 20.

Faça o mesmo usando o Método de Euler Aperfeiçoado.

Exercı́cio 5.5. Usando o Método de Euler, e o Método de Euler aperfeiçoado, determine a


solução aproximada do PVI dado por:
 y
′ 1 2
 y (x) = x2 − x − y


 (5.27)
 y(1) = −1, x ∈ [1, 2]

(a) Considerando h = 1/3 e h = 1/6.

(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.

Exercı́cio 5.6. Usando o Método de Runge-Kutta de ordem 3, calcule a solução aproximada


do seguinte problema de valor inicial:


 y′ (x) = xy1/3
(5.28)


 y(0) = 1, x ∈ [0, 2]

(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.7. Usando o Método de Runge-Kutta de ordem 3 e o Método de Runge-Kutta de


ordem 4, calcule a solução aproximada do seguinte problema de valor inicial:


 y′ (x) = −xy2
(5.29)


 y(1) = 2, x ∈ [1, 2]

(a) Considerando h = 1/4.

(b) Considerando h = 1/8.


2
(c) Sabendo-se que a solução exata é dada por y(x) = x2
, 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.

Exercı́cio 5.9. Usando o Método de Runge-Kutta de ordem 4, calcule a solução aproximada


do seguinte problema de valor inicial:

′ 1 2
 y (x) = 1+4x2 + 0, 4y


 (5.30)
 y(0) = 1, x ∈ [0, 4]

(a) Considerando n = 4.

(b) Considerando n = 8.

Exercı́cio 5.10. Usando os Métodos de Runge-Kutta, calcule a solução aproximada com


h = 0, 25 do seguinte PVI: 

 y′ = 2xy2
(5.31)


 y(0) = 1, x ∈ [0, 1]

Exercı́cio 5.11. Considere o PVI


y2 −1

 y′ = x2 +1


 (5.32)
 y(0) = 1

(a) Calcule aproximações para y(1), usando o Método de Euler com h = 0, 2 e h = 0, 25.

(b) Repita o item (a), usando agora o Método de Euler aperfeiçoado.

Exercı́cio 5.12. Considere o PVI



′ 2
 y (x) = yx − y


 (5.33)
 y(0) = 1, x ∈ [0, 2]

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];

(b) idem, usando o Método de Euler aperfeiçoado e o Método de Euler modificado;

(c) idem, usando o Método de Runge-Kutta de ordem 4;


x3
(d) sabendo que a solução analı́tica do problema é y = exp(−x + 3 ), coloque num
mesmo gráfico a solução analı́tica e as soluções numéricas encontradas nos itens
anteriores. Compare os resultados.

Exercı́cio 5.13. Resolva o problema de valor inicial




 2y′′ − 4xy + 2y3 sin(x) = 0
(5.34)

 y(1) = 0, y′ (1) = 15; x ∈ [1, 1.2], h = 0.1

(a) Reduza-o a um sistema de equações de primeira ordem.

(b) Resolva o PVI dado usando um Método de Runge-Kutta de ordem 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)

(a) Encontre a velocidade depois de 0.1s, 0.2s, ..., 1s.

(b) Numericamente, encontre o tempo no qual o projetil começa a cair.

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

6.2.1 Equações Diferenciais Parciais

Consideraremos uma equação diferencial parcial (edp) de segunda ordem da forma

autt + butx + cuxx = f (6.1)

em que u é uma função desconhecida dependente de x e t, e a, b, c e f são funções dadas.


Se estas funções dependem só de x e t então a edp é chamada linear. Se a, b, c ou f
dependem também de u, ux e ut , então a edp é chamada quase-linear.
Podemos classificar uma equação quase-linear de segunda ordem em três tipos:

(a) Se b2 − 4ac > 0, a equação é chamada hiperbólica.

(b) Se b2 − 4ac = 0, a equação é chamada parabólica.

(c) Se b2 − 4ac < 0, a equação é chamada elı́ptica.

Exemplo 6.1. O primeiro exemplo que apresentaremos é a Equação da Onda:

utt = α2 uxx + F(x, t)

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.

Exemplo 6.2. A Equação de Difusão do Calor é

ut = αuxx

é uma equação quase-linear parabólica de segunda ordem desde que a = b = 0 e c = −α,


e assim b2 − 4ac = 0. A função u(x, t) representa a temperatura de uma barra de metal no
ponto x e no tempo t.

90
Exemplo 6.3. A Equação de Poisson dada por

uxx + u yy = F(x, y)

é uma equação elı́ptica desde que a = c = 1, b = 0 e b2 − 4ac = −4 < 0. Se F(x, y) = 0 a


equação de Poisson é chamada equação de Laplace.

6.2.2 Aproximações da primeira e da segunda derivada

Precisaremos de algumas fórmulas para aproximar as derivadas. Suponhamos que


f : I → R é uma função real. Como

f (x + h) − f (x)
f ′ (x) = lim
x→∞ h

podemos, se h for pequeno, aproximar a derivada pela fórmula, denominada diferença


progressiva:
f (x + h) − f (x)
f ′ (x) ≈ .
h
Outra maneira de aproximar a derivada é mediante a diferença regressiva:

f (x) − f (x − h)
f ′ (x) ≈
h

Finalmente, pode aproximar a derivada fazendo a média das diferenças progressivas e


regressivas:
f (x + h) − f (x − h)
f ′ (x) ≈
2h
chamada aproximação por diferenças centrais. A derivada segunda de f também pode
ser aproximada mediante a fórmula:

f ′ (x + h) − f ′ (x)
f ′′ (x) ≈
h

Utilizando diferenças regressivas, segue:

f (x+h)− f (x) f (x)− f (x−h)


′′ h − h f (x + h) − 2 f (x) + f (x − h)
f (x) ≈ = .
h h2

Observação 6.1. As fórmulas anteriores podem ser utilizadas para aproximar as


derivadas de u em relação a t e a x. Estas aproximações são:

(i) Diferenças Progressivas:

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

(iii) Diferenças Centrais:

u(x, t + h) − u(x, t − h)
ut (x, t) ≈ . (6.4)
2h

(iv) Derivadas Segundas:

u(x + h, t) − 2u(x, t) + u(x − h, t)


uxx (x, t) ≈ . (6.5)
h2

6.3 Equações Parabólicas

6.3.1 O modelo de Equação Parabólica

O modelo de equação parabólica que trabalharemos é a equação da difusão do calor:

ut = αuxx

que governa a evolução da temperatura de uma barra de metal de tamanho L. Supondo


que está barra é muito fina, podemos considerar que a temperatura é constante na
seção tranversal situada a uma distância x. Dessa forma, a função u(x, t) representa a
temperatura da barra na seção transversal no ponto x, 0 ≤ x ≤ L, e no tempo t.

Figura 27: Barra de metal.

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

u(0, t) = f (t) e u(L, t) = g(t),

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

Resolver numericamente uma edp significa encontrar aproximações da solução u(x, t)


num conjunto finito de pontos do domı́nio R = {(x, t) : 0 ≤ x ≤ L, 0 ≤ t ≤ T}. Para
isso precisamos discretizar R. Escolhemos dois inteiros positivos N e M e dividimos o
intervalo [0, L] em N sub-intervalos, e o intervalo [0, T] em M sub-intervalos.

Figura 28: Discretização do Domı́nio.

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)

e o intervalo temporal [0, T] fica dividido em M + 1 pontos

t j = jk, para todo j = 0, ..., M. (6.10)

Na Figura (38) apresentamos a malha no caso N = 4 e M = 3.

6.3.3 Método Explı́cito

Precisamos da seguinte definição.

Seja Ui, j a aproximação de u no ponto (xi , t j ):

Ui,j ≈ u(xi , t j ). (6.11)

Pelas condições (6.7), conhecemos o valor de Ui, j quando j = 0, i = 0 e i = N, isto é:

(C1) Ui,0 = u(xi , t0 ) = u(xi , 0) = ψ(xi ), para todo i = 0, · · · N;

(C2) U0, j = u(x0 , t j ) = u(0, t j ) = f (t j ), para todo j = 0, · · · M;

(C3) UN, j = u(xN , t j ) = u(L, t j ) = g(t j ), para todo j = 0, · · · M.

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

no ponto (xi , t j ) é a seguinte:

u(xi , t j + k) − u(xi , t j ) h u(xi + h, t j ) − 2u(xi , t j ) + u(xi − h, t j ) i


≈α
k h2
ou
u(xi , t j+1 ) − u(xi , t j ) h u(xi+1 , t j ) − 2u(xi , t j ) + u(xi−1 , t j ) i
≈α
k h2
Introduzindo as aproximações Ui,j , obtemos:

Ui, j+1 − Ui,j h Ui+1,j − 2Ui,j + Ui−1,j i



k h2

94
Se

σ= ,
h2
segue então que

Para j = 0, · · · , N − 1 e i = 1, · · · , N − 1

Ui,j+1 = σUi+1, j + (1 − 2σ)Ui,j + σUi−1,j . (6.12)

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.

Figura 29: Uma molécula computacional no método explı́cito.

Se, por exemplo, j = 0,

Ui,1 = σUi+1,0 + (1 − 2σ)Ui,0 + σUi−1,0 , em i = 1, · · · N − 1.

Como conhecemos os valores Ui,0 , para i = 0, · · · , N, pelas condições C1, C2 e C3,


podemos determinar diretamente todos os valores dos Ui,1 .

A ideia do método explı́cito é encontrar os valores da linha j = 1 por cálculo direto


usando os valores da linha j = 0. Procedendo outra vez, obtemos os valores da linha
j = 2 usando os valores da linha j = 1. E assim sucessivamente, até chegar a linha
j = M que corresponde ao valor de t = T.

DEFINIÇÃO 6.1. Um método numérico é chamado estável quando os erros cometidos


na etapa j não se incrementam na etapa j + 1.

95
O Método Explı́cito é estável só quando

1
σ≤ .
2

Para garantir a estabilidade deste método sempre escolheremos h e k de forma que

2αk < h2 . (6.13)

Exemplo 6.4. Resolva numericamente a equação parabólica:

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

Os valores xi para i = 0, · · · , 5 são:

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.

Além disso, das condições C1 e C2 segue

U0,1 = f (t1 ) = 0, U0,2 = f (t2 ) = 0,

U5,1 = g(t1 ) = 1, U5,2 = g(t2 ) = 1.


1
Se j = 0, obtemos as aproximações no tempo t1 = 60 . Das equações (6.12),

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

Na Figura (30) mostramos as soluções numéricas para u(x, t) nos tempos t1 e t2 .

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

Consideraremos o mesmo modelo de equação parabólica:

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:

Ui, j − Ui,j−1 h Ui+1,j − 2Ui,j + Ui−1,j i


≈α
k h2
αk
De novo, se σ = h2
, obtemos

Para j = 1, · · · , M e i = 1, · · · , N − 1

Ui,j−1 = −σUi+1, j + (1 + 2σ)Ui,j − σUi−1, j . (6.16)

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 é:

Figura 31: Uma molécula computacional no método implı́cito.

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 .

que constituem um sistema de equações lineares.


Supondo que conhecemos os valores de Ui, j−1 , para i = 0, · · · , N, podemos substituı́-
los no sistema (6.17) para obter um sistema da forma



 −σU2, j + (1 + 2σ)U1, j = U1, j−1 + σU0,j

−σU3, j + (1 + 2σ)U2,j − σU1,j = U2,j−1




..


(6.18)



 .

−σUN−1, j + (1 + 2σ)UN−2, j − σUN−3,j = UN−2, j−1





N−1, j − σUN−2,j = UN−1,j−1 + σUN,j

 (1 + 2σ)U

cujas incógnitas são justamente os valores de {U1, j , U2, j , · · · , UN−1,j } correspondente à


linha j. Isto é, os valores da linha j dependem implicitamente dos valores na linha j − 1
pelas equações (6.17).

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 )
 

que é o sistema do Método Implı́cito a ser resolvido em cada estágio.

Uma observação importante é a seguinte:

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.

U0,1 = 0, U0,2 = 0, U5,1 = 1, U5,2 = 1.

Substituindo j = 1 no sistema matricial (6.19), obtemos:


 5 5
   5

 1 + 2( 12
 ) − 12 0 0  
  U1,1   U1,0 + 12 f (t1 ) 

5 5 5
 

 − 12 1 + 2( 12 ) − 12 0  
  U2,1  
  U2,0 

    =  
5 5 5

 0 − 12 1 + 2( 12 ) − 12  
  U3,1  
  U3,0 

5 5 5
     
0 0 − 12 1 + 2( 12 ) U4,1 U4,0 + 12 g(t1 )

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 

Resolvendo este sistema encontramos que

U1,1 = 0, 50176, U2,1 = 0, 58649, U3,1 = 0, 41349, U4,1 = 0, 49822.

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.

6.3.5 O Método de Crank-Nicolson

Uma maneira de conseguir melhores resultados na resolução numérica de EDP Pa-


rabólicas é utilizar uma combinação do método explı́cito e o método implı́cito. O
método resultante é chamado Método de Crank-Nicolson.
Do Método Explı́cito para j = 1, · · · , N e i = 1, · · · , N − 1

Ui,j = σUi+1, j−1 + (1 − 2σ)Ui,j−1 + σUi−1, j−1 . (6.22)

Do Método Implı́cito para j = 1, · · · , M e i = 1, · · · , N − 1

Ui,j−1 = −σUi+1, j + (1 + 2σ)Ui,j − σUi−1, j . (6.23)

Somando o termo da direita da equação (6.22) com o termo da esquerda da equação


(6.23), e o termo da esquerda da equação (6.22) com o termo da direita da equação (6.23),
obtemos as equações do Método de Crank-Nicolson:

101
Para j = 1, · · · , M e i = 1, · · · , N − 1,

− σUi+1, j + (2 + 2σ)Ui, j − σUi−1,j = σUi+1, j−1 + (2 − 2σ)Ui,j−1 + σUi−1, j−1 (6.24)

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.

Figura 33: Uma molécula computacional no método de Crank-Nicolson.

Fixemos j. Supondo que conhecemos os valores de Ui,j−1 , para i = 0, · · · , N, podemos


determinar então os valores Ui,j da linha j resolvendo N − 1 equações



 −σU2, j + (2 + 2σ)U1,j − σU0, j = σU2, j−1 + (2 − 2σ)U1, j−1 + σU0,j−1

−σU3, j + (2 + 2σ)U2, j − σU1, j = σU3, j−1 + (2 − 2σ)U2, j−1 + σU1,j−1




..


(6.25)



 .

−σUN−1, j + (2 + 2σ)UN−2, j − σUN−3, j = σUN−1, j−1 + (2 − 2σ)UN−2, j−1 + σUN−3, j−1





N−1, j − σUN−2, j = σUN, j−1 + (2 − 2σ)UN−1, j−1 + σUN−2, j−1
 −σU + (2 + 2σ)U

N, j

cujas incógnitas são justamente os valores de {U1,j , U2,j , · · · , UN−1, j } correspondentes à


linha j. Isto é, os valores da linha j dependem dos valores na linha j − 1 pelas equações
(6.25).

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 )
    

que é o sistema do Método de Crank-Nicolson a ser resolvido em cada estágio.

No que se refere a estabilidade, o Método de Crank-Nicolson é estável para todo


σ > 0.

Exemplo 6.6. Resolva numericamente a equação parabólica pelo Método de Crank-


Nicolson :
ut = 2uxx (6.27)

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:

U0,0 = 1, U1,0 = 0, 91145, U2,0 = 0, 91666, U3,0 = 0, 92187, U4,0 = 0, 83333

103
Das condições de fronteira

U0,1 = f (t1 ) = 1, U0,2 = f (t2 ) = 1

U4,1 = g(t1 ) = 0, 85771, U4,2 = g(t2 ) = 0, 88089.

Se j = 1 nas equações (6.26), segue que


 18
− 45 2 4 4
      
 5 0   U1,1   5 5 0   U1,0   5 (U0,0 + U0,1 ) 
         
 − 4 18
− 45   U2,1  =  4 2 4   U  +  0 
 5 5   5 5 5    2,0   
− 45 18   4 2  4
      
0 5 U3,1 0 5 5 U3,0 5 (U4,0 + U4,1 )

Substituindo os valores conhecidos, chegamos ao sistema:


 18
− 45
   
 5 0   U1,1   2, 69790 
     
 − 4 18
− 54   U2,1  =  1, 83332 
 5 5   
− 54 18  
   
0 U3,1 2, 45490

5

Resolvendo este sistema: U1,1 = 0, 95341, U2,1 = 0, 91799, U3,1 = 0, 88591.


Se j = 2 nas equações (6.26), segue que
 18
− 45 2 4 4
        
 5 0   U1,2   5 5 0   U1,1   5 (U0,1 + U0,2 )   2, 71577 
           
 − 4 18
− 54   U2,2  =  4 2 4   U  +  0  =  1, 83865 
 5 5   5 5 5   2,1     
 
− 54 18   4 2  4
        
0 5 U3,2 0 5 5 U3,1 5 (U4,1 + U4,2 ) 2, 49818

Resolvendo as equações: U2,1 = 0, 95967, U2,2 = 0, 92382, U2,3 = 0, 89923.

Condição Inicial

Figura 34: Soluções numéricas e condição inicial da equação do Exemplo 6.6.

104
6.3.6 Condições de Fronteira de Neumann ou com Derivadas

Em certos problemas envolvendo equações parabólicas não conhecemos os valores


u(0, t), u(L, t) de u(x, t) nas fronteiras x = 0 e x = L. Para obter uma solução neste
tipo de problemas devemos especificar o valor da derivada de u(x, t), em relação a x, na
fronteira do intervalo. Ou seja, precisamos das condições:

∂u(0, t) ∂u(L, t)
= f (t), = g(t).
∂x ∂x

Isto leva a formular o problema con condições de Neumann:

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

Pode-se resolver numericamente esta equação diferencial parcial utilizando a discretização


apresentada anteriormente e qualquer um dos três métodos estudados: explı́cito, implı́cito
e/ou Crank-Nicolson. O único inconveniente é agora os valores U0,j e UN,j , com
j = 1, · · · , M, são desconhecidos pois somente conhecemos o valor da derivada da
função na fronteira, mas não o valor da função. Ou seja, devemos incluir os valores dos
U0, j e UN, j como incógnitas de nosso problema.
Supondo, por exemplo, que desejamos utilizar o método explı́cito para resolver a
edp acima. Então, para cada i = 0, · · · , N, utilizaremos a fórmula

Ui,j+1 = σUi+1, j + (1 − 2σ)Ui,j + σUi−1, j . (6.31)

Quando escrevemos está fórmula para o ponto U0,j , ou seja i = 0, resulta

U0, j+1 = σU1, j + (1 − 2σ)U0, j + σU−1,j . (6.32)

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.

O trabalho com os pontos fantasmas é feito utilizando as condições de Neumann. Se


aproximarmos a derivada ut no ponto (x0 , t j ) por diferenças centrais segue que:

∂u(x0 , t j ) u(x1 , t j ) − u(x−1 , t j )



∂x 2h

Comparando com as condições de fronteira de Neumann dadas nas equações (6.30)

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

U−1,j = U1,j − 2h f (t j ), (6.34)

que expressa o fato que o valor nos pontos fantasma depende do valor nos pontos
interiores da malha.

Repetindo o mesmo processo no ponto (xN , t j ) obtemos:

∂u(xN , t j ) u(xN+1 , t j ) − u(xN−1 , t j )



∂x 2h

Das condições de Neumann

UN+1,j − UN−1,j
g(t j ) =
2h

Implicando que

106
UN+1, j = UN−1, j + 2hg(t j ). (6.35)

Substituindo os valores de U−1, j e UN+1, j nas equações (6.32) e (6.33):

U0, j+1 = σU1, j + (1 − 2σ)U0,j + σ(U1, j − 2h f (t j )) = (1 − 2σ)U0,j + 2σU1, j − 2hσ f (t j )

UN, j+1 = σ(UN−1, j + 2hg(t j )) + (1 − 2σ)UN,j + σUN−1, j = 2σUN−1, j + (1 − 2σ)UN, j + 2hσg(t j )

Então as equações (6.31) convertem-se no sistema





 U0,j+1 = (1 − 2σ)U0,j + 2σU1, j − 2hσ f (t j )

Ui,j+1 = σUi+1, j + (1 − 2σ)Ui,j + σUi−1, j .




..


(6.36)



 .

Ui,j+1 = σUi+1, j + (1 − 2σ)Ui,j + σUi−1, j .






 U
N,j+1 = 2σUN−1,j + (1 − 2σ)UN, j + 2hσg(t j )

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

ψ(x) = 1 − x2 , f (t) = 0, g(t) = −2e−t

E os valores U0,0 = ψ(x0 ) = 1, U1,0 = ψ(x1 ) = 0, 75, U2,0 = ψ(x2 ) = 0, e

f (t0 ) = 0; g(t0 ) = −2.

Sustituindo j = 0 nas equações (6.37) obtemos:


      
 U0,1   1 − 2σ 2σ 0   U0,0   −2hσ f (t0 ) 
       
 U
 1,1
 = 
  σ 1 − 2σ σ   U
  1,0
 + 
  0 

       
U2,1 0 2σ 1 − 2σ U2,0 2hσg(t0 )

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

Exercı́cio 6.1. Escreva as equações do Método Implı́cito e do Método de Crank-Nicolson


para uma edp parabólica com condições de fronteira de Neumann.

6.4 Equações Elı́pticas

6.4.1 O modelo de Equação Elı́ptica

O modelo de equação elı́ptica que usaremos é o seguinte:

∂ 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}.

Note-se que as variavéis independentes são x e y. De novo encontraremos aproximações


de u(x, y) em R. A discretização de R é a mesma que no caso das equações parabólicas,

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.

Esta discretização está mostrada na figura 36 abaixo.

Figura 36: Discretização do Domı́nio para uma equação elı́ptica.

Para resolver está equação elı́ptica precisamos do conhecimento do valor de u(x, y)


na fronteira de R. Denotaremos a fronteira de R por ∂R. Em outras palavras, precisamos
a condição:

u(x, y) = g(x, y), se (x, y) ∈ ∂R, (6.39)

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,

u(xi+1 , y j ) − 2u(xi , y j ) + u(xi−1 , y j ) u(xi , y j+1 ) − 2u(xi , y j ) + u(xi , y j−1 )


+ ≈ f (xi , y j )
h2 k2

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+1,j − 2Ui,j + Ui−1,j Ui, j+1 − 2Ui, j + Ui,j−1


+ = fi, j (6.40)
h2 k2

Da condição de Dirichlet (6.39) podemos determinar os valores de Ui, j nos pontos da


fronteira ∂R (pontos em azul na Figura (36)):

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)):

Ui, j , para i = 1, · · · N − 1, j = 1, · · · , M − 1. (6.41)

Figura 37: Valores de u(x, y) na fronteira ∂R.

Substituindo os pontos (xi , y j ), para i = 1, · · · , N − 1, j = 1, · · · M − 1 na equação


(6.40), resultam (N − 1) × (M − 1) equações lineares cujas incógnitas são os valores
Ui, j com i = 1, · · · , N − 1, j = 1, · · · M − 1. Resolvendo estas (N − 1) × (M − 1) equações
obteremos os valores de Ui,j nos pontos internos da malha.

Exemplo 6.8. Considere a equação diferencial

uxx + u yy = 6(x + 1)y + 8, com 0 ≤ x ≤ 1, 0 < y < 1

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.

Das condições de Dirichlet, os valores de u(x, y) nos pontos da fronteira são:

U10 = u(1/3, 0) = 0, U20 = u(2/3, 0) = 0, U01 = u(0, 1/2) = 1.5

U12 = u(1/3, 1) = 6.37037, U22 = u(2/3, 1) = 8.6262, U31 = u(1, 1/2) = 5.

Os valores desconhecidos são U1,1 e U2,1 . Discretizando a equação:

Ui+1, j − 2Ui, j + Ui−1,j Ui, j+1 − 2Ui,j + Ui, j−1


+ = 6(xi + 1)y j + 8
h2 k2
Subtituindo i = 1, j = 1 obtemos:

9(U21 − 2U11 + U01 ) + 4(U12 − 2U11 + U10 ) = 6(4/3)(0.5) + 8 = 12

Simplificando
9U21 − 26U11 = −26.98148. (6.42)

Substituindo i = 2, j = 1

9(U31 − 2U2,1 + U11 ) + 4(U22 − 2U21 + U2,0 ) = 6(5/3)(0.5) + 8 = 13

Simplificando
− 26U21 + 9U11 = −66.51848 (6.43)

Resolvendo as equações (6.42) e (6.43):

U21 = 3.314813, U11 = 2.18519.

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.

Exemplo 6.9. Considere a equação diferencial parcial:



2
 ut = u + (uxx ) + 2ux , com 0 < x < 1


 u(x, 0) = 2x, u(0, t) = t2 , u(1, t) = 2 − t2

(a) Deduza uma fórmula para encontrar os pontos internos substituindo diferenças
progressivas para ut e diferenças centrais para ux .

(b) Fazendo h = 1/3 e k = 1/20, encontre as aproximações obtidas pelo método do


item (a) para Ui, j com j = 1.

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

Ui,j+1 − Ui, j  Ui+1,j − 2Ui,j + Ui−1, j 2  Ui+1,j − Ui−1, j 


= Ui,j + +2
k h2 2h

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

Substituindo os dados segue que U11 = 0, 9.


Se i = 2, j = 0 obtemos

1 h  2  i
U2,1 − U2,0 = ( ) U2,0 + 81 U3,0 − 2U2,0 + U1,0 + 3 U3,0 − U1,0
20

Substituindo os dados segue que U21 = 1.6.

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}

(b) x2 uxx + 2(1 − y2 )u yy = 0, com D = {−1 < x < 1, −1 < y < 1}

(c) uxx − 2u yy = 0, D = R2

(d) uxx − 2uxy + 4u yy = 0, D = R2

(e) uxx − 2uxy + u 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)

Exercı́cio 6.5. Considere a equação diferencial

ut = auxx + bux , com a > 0, 0 ≤ x ≤ L, 0 < t < T

com condição inicial e de fronteira dadas por





 u(x, 0) = ψ(x), 0 < x < L

u(0, t) = f (t), 0 < t < T (6.45)




 u(L, t) = g(t), 0 < t < T

Faça o que se pede:


(a) Classifique a EDP dada acima.

(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;

(b) Formule as equações inicial e de fronteira;

(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.

(a) Verifique que u(x, y) = sin(πx) cos(2πt) é solução exata da equação;

(b) Faça o esboço da malha até o tempo t = 0.25;

(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.8. Considere o problema:





 uxx + u yy = − cos(x + y) − cos(x − y), 0 ≤ x ≤ π/2, 0 < y < π/2

u(x, 0) = cos(x), u(x, π/2) = 0, 0 ≤ x ≤ π/2 (6.46)




u(0, y) = cos(y), u(π/2, y) = 0, 0 ≤ y ≤ π′ 2

Utilizando h = π/4 e k = π/4 no Método de diferenças finitas para o problema acima,


calcule o valor aproximado para u(π/4, π/4).

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

(a) Verifique que u(x, y) = xe y é solução exata da equação;

(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:

(a) Considerando h = 4 e k = 6, faça um esboço da malha que representa a placa.

(b) Utilizando h = 4 e k = 6 no Método de Diferenças Finitas e sabendo que uxx + u yy = 0,


encontre os valores das temperaturas no interior da placa.

Exercı́cio 6.11. Considere a equação diferencial





 ut = uxx , com 1 ≤ x ≤ 2, 0 < t < T

u(x, 0) = sin(πx), 1 ≤ x ≤ 2 (6.48)



 u (1, t) = −πe−π2 t , u (2, t) = πe−π2 t , 0 < t < T


x x

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.12. Considere a equação ut = αuxx . Estabeleça a condição necessária para a


estabilidade de um Método Explı́cito e mostre o que acontece quando α = 0.5 e α = 10−3 .

Exercı́cio 6.13. Calcule a solução aproximada de uxx + u yy + cos(y)ux − sin(x)u y = 0 no


retângulo unitário com condição de Dirichlet na fronteira. Resolva o problema através
de uma aproximação em Diferenças Finitas, utilizando diferenças progressivas para as
derivadas de primeira ordem.

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

Faça o que se pede:

(a) Considerando h = 1/4, para que valores de k o Método Explı́cito é estável?

(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.

(b) Obtenha as duas primeiras linhas de soluções usando h = 1/3 e k = 1/40.

115
Exercı́cio 6.17. Considere o seguinte problema com condições de fronteira de Newmann:

ut = uxx , com α > 0, 0 ≤ x ≤ L, 0 < t < T.

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

(a) Obtenha o método resultante de aproximação das condições de fronteira por


diferenças centrais e da equação pelo Método Explı́cito.

(b) Obtenha o método resultante da aproximação da fronteira esquerda por diferençãs


progressivas, da fronteira direita por diferenças regressivas e da equação pelo
Método Explı́cito.

(c) Resolva os items (a) e (b) usando h = 1/3 e k = 1/30.

Exercı́cio 6.18. A resolução numérica da seguinte equação diferencial parcial





 uxx + u yy = 6xy + 8, com 1 ≤ x ≤ 2, 0 < y < 1

u(x, 0) = 0, u(x, 1) = x3 + 4, 1 ≤ x ≤ 2




 u(1, y) = y + 4y2 , u(2, y) = 8y + 4y2 , 0 < y < 1

está representada na figura abaixo com h = 1/30 e k = 1/30.

Figura 38: Resolução no computador.

Resolva a mesma equação diferencial considerando h = 1/3 e k = 0.5 e encontre os


valores aproximados de u(x, y) nos pontos internos da malha. Compare com os valores
correspondentes da figura.

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.

Exercı́cio 6.20. Considere a equação diferencial parcial:



3
 ut = u + (uxx ) + 2ux , com 0 < x < 1


(6.53)
 u(x, 0) = 2x3 , u(0, t) = t2 , u(1, t) = 2 − t2

(a) Deduza uma fórmula para encontrar os pontos internos substituindo diferenças
progressivas para ut e diferenças centrais para ux .

(b) Fazendo h = 1/3 e k = 1/20, encontre as aproximações obtidas pelo método do


item (a) para Ui, j com j = 1.

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

Você também pode gostar