You are on page 1of 60

1

SOLUO NUMRICA DE EQUAES DIFERENCIAIS

1. Introduo

Os problemas de Engenharia so resolvidos a partir de um modelo matemtico que descreve


o fenmeno fsico em questo. Essa descrio se d, basicamente, considerando-se um
sistema onde so identificadas as variveis do problema e hipteses sobre o seu
comportamento de acordo com as leis da fsica. O modelo matemtico do sistema
geralmente representado atravs de equaes diferenciais ou sistemas de equaes
diferenciais. A soluo fornecida deve ser consistente com as hipteses de validade do
modelo, ou seja, deve descrever corretamente os fenmenos fsicos descritos pelo sistema.
Infelizmente, muitas das equaes diferenciais que regem os problemas de Engenharia mais
complexos no tm soluo analtica, necessitando uma soluo aproximada por mtodos
numricos.

2. Definies

As equaes diferenciais em geral so classificadas em termos de tipo, ordem, linearidade e


homogeneidade.

Tipo: quando uma equao contm apenas derivadas ordinrias de uma ou mais variveis
dependentes em relao a uma nica varivel independente, ela chamada de equao
diferencial ordinria (EDO). Exemplos:

dy
5y = 1
dt
( y x ) dx + 4 xdy = 0
du dv
=x
dx dx
d2y dy
2
2 + 6y = 0
dx dx

Por outro lado, quando uma equao envolve derivadas parciais de uma ou mais variveis
dependentes de duas ou mais variveis independentes, ela chamada de equao
diferencial parcial (EDP). Exemplos:

u v
=
y x
u u
x +y =u
x y
2u 2u u
= 2 2
x 2
t t

Ordem: a ordem da derivada mais alta de uma equao diferencial define a ordem da
equao. Exemplos:
2

3
d2y dy
2
+ 5 4 y = ex Equao diferencial ordinria de 2 ordem.
dx dx

4u 2u
a2 + =0 Equao diferencial parcial de 4 ordem.
x 4 t 2

Linearidade: uma equao diferencial ordinria dita linear quando pode ser escrita na
forma:

dny d n 1 y dy
an ( x ) n
+ a n 1 ( x ) n 1
+ + a1 ( x ) + a0 ( x) y = g ( x )
dx dx dx

Observa-se que as equaes diferenciais lineares so caracterizadas pelas seguintes


propriedades:

i) A varivel dependente y e todas as suas derivadas so do primeiro grau; isto , a


potncia de cada termo envolvendo a varivel y 1.

ii) Cada coeficiente ai depende apenas da varivel independente x.

Equaes diferenciais ordinrias que no apresentam as propriedades descritas acima so


chamadas de no lineares. Exemplos:

d2y dy
y 2
2 =x no linearidade devida ao coeficiente y
dx dx

d3y
3
+ y2 = 0 no linearidade devida potncia 2
dx

Uma equao diferencial parcial linear de 2 ordem com duas variveis independentes, por
exemplo, pode ser expressa da seguinte forma:

2u 2u 2u u u
a ( x, y ) + 2b ( x , y ) + c ( x , y ) + d ( x, y ) + e ( x , y ) + f ( x , y )u = g ( x , y )
x 2
xy y 2
x y

onde a, b, c, d, e e f so os coeficientes da equao, podendo ser constantes ou funes


conhecidas de variveis independentes (x e y). Quando a condio a2 + b2 + c2 > 0 satisfeita
sobre uma regio do plano xy, verifica-se que a equao diferencial parcial (EDP) uma
equao de segunda ordem naquela regio.

O estudo das caractersticas matemticas das equaes parciais lineares de 2 ordem tem
importncia fundamental, pois vrios fenmenos fsicos so descritos por equaes deste
tipo. Neste sentido, as equaes diferenciais parciais (EDP) de 2 ordem lineares com
coeficientes constantes podem ser classificadas em: parablicas, elpticas e hiperblicas.

Substituindo-se as derivadas parciais /x e /y por x e y, respectivamente, em uma


equao diferencial parcial de 2 ordem, obtm-se uma expresso polinomial de mesmo
grau, similar a uma equao de seo cnica, isto :
3

ax 2 + 2bxy + cy 2 + termos de baixa ordem = 0

Da mesma forma como feito com as sees cnicas e formas quadrticas, possvel
classificar a equao diferencial de acordo com o valor do discriminante. No caso de
equaes diferenciais parciais de 2 ordem, o discriminante fica definido por (2b)2 4ac =
4(b2 ac), onde a constante 4 desconsiderada por simplicidade. A partir do discriminante
define-se a seguinte classificao:

i) Se b2 ac > 0: equao diferencial parcial (EDP) hiperblica. As razes so reais e


diferentes. Exemplo: equao de onda.

2 u 2 2u
c =0 (substitui-se y por t na equao geral)
t 2 x 2

ii) Se b2 ac = 0: equao diferencial parcial (EDP) parablica. As razes so reais e iguais.


As informaes fsicas so transmitidas de montante para jusante, necessitando
apenas de condies de contorno a montante. Exemplo: termos advectivos da
equao de Navier-Stokes.

u u
u +v = f ( x, y )
x y

v v
u + v = f ( x, y )
x y

iii) Se b2 ac < 0: equao diferencial parcial (EDP) elptica. As razes so reais e iguais.
As informaes fsicas so transmitidas em todas as direes coordenadas, requerendo
condies de contorno em ambos os sentidos da direo considerada. As equaes
tm a forma de uma equao de Poisson (ou Laplace). Exemplo: difuso de calor
estacionria e tenses em placas.

2u 2u
Equao de Poisson: + = f ( x, y )
x 2 y 2

2u 2u
Equao de Laplace: + =0
x 2 y 2

Quando os coeficientes da equao variam em relao s variveis independentes x e y, a


classificao acima feita ponto a ponto.

Homogeneidade: uma equao diferencial dita homognea quando envolve apenas


termos com variveis dependentes e suas derivadas. Exemplo:

d4y d2y
4
+ x 2
+ y2 = 0
dx dx

Uma equao diferencial no homognea apresenta termos envolvendo variveis


independentes e constantes. Exemplo:
4

d4y d2y
4
+ x 2
+ y2 = 6x + 3
dx dx

Uma funo de duas variveis, por exemplo, chamada de homognea de grau n se satisfaz
a condio f(tx,ty) = tnf(x,y) para algum nmero real n. Exemplo:

funo homognea de grau 2:

f ( x, y ) = 2 x 2 3 y 2 + 4 xy
f (tx, ty ) = 2(tx ) 2 3(ty ) 2 + 4(tx )(ty ) = t 2 f ( x, y )

Uma equao diferencial geralmente possui um nmero infinito de solues. Uma soluo
para uma equao diferencial qualquer funo suficientemente diferencivel que satisfaa
a equao em algum intervalo. A famlia de funes a um parmetro y = ce x , por exemplo,
2

onde c uma constante arbitrria, satisfaz a equao diferencial dy dx = 2 xy . As solues


para uma equao diferencial so classificadas em explcitas ou implcitas. Uma soluo que
pode ser escrita na forma y = f(x), por exemplo, uma soluo explcita de uma equao
diferencial ordinria. Por outro lado, a forma G(x,y) = 0 representa uma soluo implcita de
uma equao diferencial ordinria em um intervalo I caso ela defina uma ou mais solues
explcitas neste mesmo intervalo. Exemplo: a soluo implcita x 2 + y 2 4 = 0 da equao
diferencial dy dx = x y define duas solues explcitas ( y = 4 x 2 e y = 4 x 2 ) no
intervalo [-2, 2].

Quando se resolve uma equao diferencial de n-sima ordem do tipo F(x, y, y, ..., y(n)) = 0,
onde y(n) = d(n)y/dx(n), espera-se determinar uma famlia de solues a n parmetros G(x, y,
c1, ..., cn) = 0. Uma soluo para uma equao diferencial que no depende de parmetros
arbitrrios chamada de soluo particular. Se uma equao diferencial possui uma soluo
que no pode ser obtida especificando-se os parmetros de uma famlia de solues, tal
soluo dita singular. Uma famlia de solues a n parmetros chamada de soluo geral
ou completa se toda a soluo para F(x, y, y, ..., y(n)) = 0 no intervalo I pode ser obtida de
G(x, y, c1, ..., cn) = 0 atravs de uma escolha apropriada de parmetros ci (i = 1, n).

importante destacar que equaes no lineares, com exceo de algumas equaes de


primeira ordem, so geralmente difceis ou impossveis de ser resolvidas em termos de
funes elementares tais como funes algbricas, exponenciais, logartmicas e
trigonomtricas.

3. Diferenciao numrica

Dado um conjunto de dados discretos (xi, f(xi)), por exemplo, deseja-se determinar a
derivada da funo que descreve a curva f(xi) em um determinado ponto x do intervalo de
validade desta funo. Para isso, recorre-se primeiramente a um polinmio interpolador p(x)
que passe pelos pontos xi e ento se deriva a expresso obtida a fim de obter-se uma
aproximao para o valor f(x), ou seja, p(x) f(x). Este procedimento conhecido como
derivao ou diferenciao numrica.
5

A derivao numrica tem a desvantagem de ser, geralmente, um processo instvel, mesmo


que os dados fornecidos sejam bastante exatos. Para um ponto no tabelado, por exemplo,
a declividade obtida a partir do polinmio interpolador pode ser muito diferente da
declividade real da funo f(x). Alm disso, os valores f(x) nos pontos interpolados j so
naturalmente incorretos em virtude de erros de arredondamento e outros.

Erro de truncamento na derivao numrica:

Para uma srie de dados discretos (x0, f(x0)), (x0, f(x0)), ..., (xn, f(xn)), o erro do polinmio
interpolador dado por:

1
E ( x) = f ( x) pn ( x) = ( x) f ( n+1) ( )
(n + 1)!

onde (x) = (x x0).(x x1)...(x xn) e = (x) uma funo desconhecida de x. O valor
depende do ponto x onde a estimativa de erro requerida. Assim, tem-se que:

1 ( n +1) d ( n +1)
f ( x ) pn ( x ) = f ( ). ( x ) + ( x ). f ( )
(n + 1)! dx

Para x = xi (i = 0, n), obtm-se:

1
E ( x ) = f ( xi ) pn ( xi ) = . ( xi ). f ( n +1) ( ) ( x0 , xn )
( n + 1)!

sendo:

( xi ) = ( xi x j )
n

j =0
( j i )

De uma forma geral, o erro de truncamento pode ser local ou global. No segundo caso,
decorre do erro local acumulado ao longo dos passos de integrao. O erro de truncamento
global , usualmente, uma ordem inferior ordem do erro de truncamento local.
6

3.1. Frmulas de derivao numrica

Frmulas em derivadas ascendentes:

Supondo que os pontos xi (i = 0, n) estejam igualmente espaados com xi+1 xi = h e


considerando que r = (x x0)/h, pode-se obter uma aproximao para f(x) utilizando a
frmula do polinmio de Newton com diferenas ascendentes da seguinte forma:

r ( r 1) 2 r (r 1) ( r n + 1) n
f ( x ) pn ( r ) = f 0 + r f 0 + f0 + + f0
2! n!

onde f0 = f(x0).

Casos particulares para o clculo de f(x):

i) f(x) p1(x) tomando n = 1, obtm-se:

f ( x) p1 (r ) = f 0 + r f 0

d d dr
f ( x0 ) ( f 0 + r f 0 ) = ( f0 + r f 0 ) .
dx x = x0 dr dx r =0

Como r = (x x0)/h e dr/dx = 1/h, chega-se a:

f 0 f1 f 0
f ( x0 ) =
h h

Erro de truncamento da derivada:

h
E ( x0 ) = f ( ) ( x0 , x1 )
2

ii) f(x) p2(x) tomando n = 2, obtm-se:

r (r 1) 2
f ( x ) p 2 ( r ) = f 0 + r f 0 + f0
2!

d r (r 1) 2 dr 1 2r 1 2
f ( x0 ) f 0 + r f 0 + f0 . = f 0 + f0
dr 2! dx r =0
h 2 r =0

1 2r 1 2 f f 1
f ( x0 ) f 0 + f 0 = 1 0 ( f 2 2 f1 + f 0 )
h 2 r =0 h 2h

f1 f 0 1 1
f ( x0 ) ( f 2 2 f1 + f 0 ) = ( 2 f1 2 f 0 f 2 + 2 f1 f 0 )
h 2h 2h

1
Logo: f ( x0 ) ( 3 f 0 + 4 f1 f 2 )
2h
7

Erro de truncamento da derivada:

h2
E ( x0 ) = f ( ) ( x0 , x2 )
3

Clculo de derivadas de ordem mais elevada:

2 f 0 f 2 2 f1 + f 0
f ( x0 ) = E ( x0 ) = hf ( )
h2 h2

3 f 0 f 3 3 f 2 + 3 f1 f 0
f ( x0 ) = E ( x0 ) = hf IV ( )
h3 h3

Frmulas em derivadas centrais:

Quando forem conhecidos valores da funo f(x), ou se for possvel calcul-los direita e
esquerda de x0, pode-se obter frmulas de derivao baseadas em diferenas centrais. As
derivaes assim realizadas so mais exatas que aquelas baseadas em diferenas
ascendentes.

Tomando-se a frmula de Taylor para calcular a funo f(x) nos pontos xi h, xi e xi + h,


obtm-se:

h2 h3
f ( xi h) = f ( xi ) h. f ( xi ) + f ( xi ) f (1 ) (diferena descendente)
2! 3!

h2 h3
f ( xi + h) = f ( xi ) + h. f ( xi ) + f ( xi ) + f ( 2 ) (diferena ascendente)
2! 3!

onde 1 (xi h, xi) e 2 (xi, xi + h). Calculando-se a diferena f(xi + h) f(xi h), obtm-se:

h3
f ( xi + h) f ( xi h) = 2h. f ( xi ) + [ f (1 ) + f ( 2 )]
3

Portanto:

f ( xi + h) f ( xi h) h 2
f ( xi ) = f ( )
2h 6

Se f(x) for contnua no intervalo [xi h, xi + h], existe um ponto neste intervalo onde:

f ( xi + h) f ( xi h) h2
f ( xi ) E ( xi ) = f ( ) [ xi h, xi + h ]
2h 6
8

A partir da expresso acima pode-se concluir que a frmula em derivada centrais mais
exata que frmulas em derivadas ascendentes (ou descendentes) para valores pequenos de
h.

Clculo de derivadas de ordem mais elevada:

f ( xi +1 ) 2 f ( xi ) + f ( xi 1 ) h 2 IV
f ( xi ) E ( x0 ) = f ( )
h2 12

Exemplo: a partir dos dados apresentados na tabela abaixo, calcular a derivada f(x) em x =
1,4 usando as frmulas em derivadas ascendentes (com f(x) p1(x) e f(x) p2(x)) e em
derivadas centrais. O valor exato da derivada f(1,4) = cosh(1,4) = 2,1509.

x 1,2 1,3 1,4 1,5 1,6


f(x) 1,5095 1,6984 1,9043 2,1293 2,3756

A funo que descreve os dados discretos e sua derivada vm dadas por:

e x e x
f ( x) = senh( x) =
2

e x + e x
f ( x) = cosh( x) =
2

Com as funes acima possvel montar a seguinte tabela:

x f(x) = senh(x) f'(x) = cosh(x)


1,2 1,5095 1,810655568
1,3 1,6984 1,970914231
1,4 1,9043 2,150898466
1,5 2,1293 2,352409615
1,6 2,3756 2,577464471

- Clculo de f(1,4) por diferenas ascendentes e considerando que f(x) p1(x):

f1 f 0
Derivada: f ( x0 )
h

f (1,5) f (1, 4) 2,1293 1,9043


f (1, 4) = = 2, 2500
0,1 0,1

h
Erro: E = f ( ) ( x0 , x1 )
2

h h
E = f ( ) max f ( x) = 0, 05.2,1293 = 0,106465
2 2 x[1,4;1,5]

- Clculo de f(1,4) por diferenas ascendentes e considerando que f(x) p2(x):


9

1
Derivada: f ( x0 ) ( 3 f 0 + 4 f1 f 2 )
2h

1
f (1, 4) [ 3 f (1, 4) + 4 f (1, 5) f (1, 6)] = 2,143500
2.0,1

h2
Erro: E = f ( ) ( x0 , x2 )
3

h2 h2 0, 01
E =
f ( ) max f ( x) = .2, 577464471 = 0, 00859153
3 3 [x 1,4;1,6 ] 3

- Clculo de f(1,4) por diferenas centrais:

f ( xi + h) f ( xi h)
Derivada: f ( xi ) =
2h

1 1
f (1, 4) [ f (1, 5) f (1, 3)] = ( 2,1293 1, 6984 ) = 2,1545
2.0,1 0, 2

h2
Erro: E = f ( ) [ xi h, xi + h ]
6

h2 h2 0, 01
E = f ( ) max f ( x) = .2,352409615 = 0, 0039207
6 6 x[1,3;1,5] 6

4. Mtodos numricos para a soluo de equaes diferenciais ordinrias (EDO)

Os problemas envolvendo equaes diferenciais ordinrias (EDO) so usualmente


classificados em problemas de valor inicial (ou condio inicial) e problemas de valor de
contorno (ou condio de contorno).

Problema de valor inicial (ou de condio inicial):

Uma equao diferencial ordinria (EDO) de ordem n pode ser representada por:

y ( n ) = f ( x, y , y, , y ( n 1) )

cuja soluo pode ser expressa por y = F(x), desde que esta funo seja definida e n vezes
diferencivel em um certo intervalo a < x < b. Assim, ao substituir y e suas derivadas por F(x)
e suas derivadas, obtm-se uma identidade. Uma EDO de 1 ordem, por exemplo, vem dada
por y = f(x, y), assim como uma EDO de 2 ordem dada por y = f(x, y, y).

Se as condies iniciais y(x0), y(x0), ..., y(n-1)(x0) forem fixadas previamente em um certo
ponto x = x0, obtm-se um problema de valor inicial. Uma EDO de 1 ordem necessita de
uma condio inicial para fixar uma soluo particular. J para uma EDO de 2 ordem so
10

necessrias duas condies iniciais para obter-se uma soluo particular. Portanto, a ordem
da EDO define o nmero de condies iniciais necessrias.

A soluo geral da equao diferencial y = y, por exemplo, dada por y = a.ex, onde a uma
constante arbitrria. Variando o valor da constante a, obtm-se uma famlia de curvas, todas
satisfazendo a equao diferencial dada. No entanto, ao fixar-se uma condio inicial,
possvel determinar um valor especfico para a constante. Para y(0) = 1, verifica-se que a = 1,
com o que obtm a soluo particular y = ex.

Problema de valor de contorno:

Um problema de valor de contorno consiste em resolver uma equao diferencial de ordem


dois ou superior na qual a varivel dependente y ou suas derivadas so especificadas em
pontos diferentes do domnio.

Um problema de contorno envolvendo uma equao diferencial ordinria de 2 ordem, por


exemplo, pode ser colocado da seguinte forma dada a equao diferencial abaixo:

d2y dy
a2 ( x ) 2
+ a1 ( x) + a0 ( x) y = g ( x)
dx dx

resolva a mesma sujeita s seguintes condies:

y ( x0 ) = y0
y ( x1 ) = y1

As condies acima so conhecidas como condies de contorno ou de fronteira. Uma


soluo para o problema uma funo que satisfaa a equao diferencial em um intervalo
contendo as coordenadas x0 e x1 e passe pelos pontos (x0, y0) e (x1, y1). Problemas de valor
de contorno so frequentemente encontrados em aplicaes envolvendo equaes
diferenciais parciais.

Dependendo das condies de contorno impostas, um problema de valor de contorno pode


ter vrias solues, uma nica soluo, ou at mesmo nenhuma soluo. A equao
diferencial y + 16y = 0, por exemplo, apresenta uma famlia de solues a dois parmetros
expressa por:

y = c1 cos(4 x) + c2sen(4 x)
11

Verifica-se que a soluo que satisfaz as condies de contorno y(0) = 0 e y(/2) = 0 dada
por y = c2sen(4x), j que a condio y(0) = 0 implica que c1 = 0 e a condio y(/2) = 0 leva a
c2sen(4x) = 0. Portanto, a soluo neste caso uma famlia de solues a um parmetro.

No entanto, se as condies de contorno fossem y(0) = 0 e y(/8) = 0, ento os parmetros


c1 e c2 deveriam ser nulos. Logo, a soluo nica neste caso, sendo dada pela funo y = 0.
Finalmente, para as condies de contorno y(0) = 0 e y(/2) = 1, observa-se que no h
nenhuma soluo possvel na famlia de solues y = c1cos(4x) + c2sen(4x).

4.1. Aproximao da soluo por srie de Taylor

A soluo de um problema de valor inicial envolvendo uma EDO por srie de Taylor prev
uma soluo aproximada com continuidade at uma determinada ordem n previamente
estabelecida. A soluo aproximada consiste, basicamente, na expanso da funo soluo
em polinmios de Taylor at o n-simo termo, avaliada na vizinhana do ponto onde
imposta a condio inicial do problema.

Sendo y = f(x, y) uma equao diferencial ordinria com condio inicial (x0, y0), cuja soluo
dada por y(x), ento y(x) = f(x, y(x)) e y(x0) = y0 para y(x) diferencivel at a ordem n em x0.
Caso y(x) seja a soluo exata da equao diferencial, pode-se expandi-la em uma srie de
Taylor no ponto x0, isto :

( x x0 )
2

y ( x) = y ( x0 ) + ( x x0 ) y( x ) +
0 y( x0 ) + +
2!
( x x0 ) ( x x0 )
n n +1

n!
y (n)
(x ) +
0
(n + 1)!
y ( n +1) ( ) ( [ x , x ])
0

sendo:

y ( x0 ) = y0 y = f ( x, y )
y( x0 ) = y0 = f ( x0 , y0 ) y = f ( x, y, y) = f x + f y y = f x + f y f
y( x0 ) = y0 = f ( x0 , y0 , y0 ) y = f ( x, y, y, y) = f xx + f x f y + 2 f xy f + f yy f 2 + f y2 f

onde fx = f/x, fy = f/y, fxx = 2f/x2, fyy = 2f/y2 e fxy = 2f/(xy).


12

As derivadas na expanso no so conhecidas explicitamente, uma vez que a soluo no


conhecida. Contudo, se f for suficientemente derivvel, elas podero ser obtidas
considerando-se a derivada total com respeito a x, tendo em mente que f uma funo
implcita de y, como mostrado nas expresses acima. A derivada total de f(x, y) expressa
por df/dx = f/x + (f/y).y. Assim, considerando que h = x x0, obtm-se:

h2
y ( x) = y ( x0 ) + h. f ( x0 , y ( x0 ) ) + f ( x0 , y ( x0 ) ) + +
2!
h n ( n 1) h n +1
n!
f ( x0 , y( x0 ) ) +
(n + 1)!
f ( n ) ( , y ( ) ) ( [ x0 , x])

O ltimo termo da expresso acima representa o erro de truncamento da soluo


aproximada.

Exemplo 1: Resolver a EDO y = x + y2 com condio inicial y(0) = 1 aproximando a soluo


por uma srie de Taylor de ordem 4.

Neste caso, a srie de Taylor truncada na ordem 4 vem dada por:

( x x0 ) ( x x0 ) ( x x0 )
2 3 4

y ( x) = y0 + ( x x0 ) y0 + y0 + y0 + y0( IV ) + O ( ( x x0 )5 )
2! 3! 4!

As derivadas so definidas por:

y = x + y 2 y0 = 1

y = 1 + 2 yy y0 = 1 + 2.1.1 = 3

y = 2 yy + y 2 y y0 = 2.1.3 + 2.12 = 8

y ( IV ) = 2 yy + 2 y y + 4 y y y0( IV ) = 2.1.8 + 6.1.3 = 34

Portanto:

x2 x3 x4
y ( x) = 1 + x + 3 + 8 + 34 + O ( x5 ) x + x + x + O ( x5 )
3 2 4 3 17 4
y ( x) = 1 + x +
2 6 24 2 3 12

possvel dividir um dado intervalo [a, b] onde se deseja obter a soluo da equao
diferencial em subintervalos. O valor da soluo y(x) ento calculado de forma aproximada
para n + 1 valores de x (x0, x1, ..., xn), de tal forma que h = (b a)/n e xi = x0 + i.h (i = 0, 1, ...,
n). Assim, as diferentes solues obtidas correspondem a amostras aproximadas de uma
soluo particular da equao diferencial. No entanto, para manter o erro de truncamento
dentro de limites aceitveis ser necessrio empregar um nmero muito grande de termos
da srie para valores grandes de x x0. Logo, torna-se mais interessante trabalhar com um
algoritmo onde a aproximao em i + 1 obtida a partir da expanso em srie de Taylor em
torno de xi, ou seja:
13

h2
y ( xi + h) = y ( xi ) + h. f ( xi , y ( xi ) ) + f ( xi , y ( xi ) ) + +
2!
h n ( n 1) h n+1
n!
f ( xi , y( xi ) ) +
(n + 1)!
f ( n ) ( , y ( ) ) ( [ x , x ])
i i +1

No caso geral, a diferenciao de f(x, y) torna-se enormemente complicada, exceto para o


caso simples abaixo:

y( xi + h) = y ( xi ) + h. f ( xi , y( xi ) ) + O(h 2 )

Exemplo 2: calcular y(0,4) com h = 0,2 atravs da frmula de Taylor para ordem 4, sendo y =
x y e y(0) = 2.

Sendo x0 = 0 e y0 = 2, as primeiras derivadas da frmula de Taylor so definidas por:

y = x y y0 = 2

y = 1 y y0 = 3

y = y y0 = 3

y ( IV ) = y y0( IV ) = 3

Logo, uma srie de Taylor truncada na ordem 4 pode ser expressa por:

( x x0 ) ( x x0 ) ( x x0 )
2 3 4

y ( x) = y0 + ( x x0 ) y +
0 y +
0 y +
0 y0( IV ) + O ( ( x x0 )5 )
2! 3! 4!

h2 h3 h 4 ( IV )
y (0, 2) = y0 + h. y0 + y0 + y0 + y0 + O ( h5 )
2 6 24

Sendo x0 = 0 e h = 0,2, obtm-se x1 = x0 + h = 0,2. Portanto:

( 0, 2 ) ( 0, 2 ) ( 0, 2 )
2 3 4

y (0, 2) = 2 + 0, 2. ( 2 ) + 3+ (3) + y0( IV ) + O ( (0, 2)5 )


2 6 24

y (0, 2) 1, 6562 .

Finalmente, considerando x1 = 0,2 e h = 0,2, obtm-se x2 = x1 + h = 0,4. Portanto:

h2 h3 h 4 ( IV )
y (0, 4) = y1 + h. y1 + y1 + y1+ y1 + O ( h 5 )
2 6 24

Sendo x1 = 0,2 e y1 = 1,6562, as primeiras derivadas da frmula de Taylor so definidas por:

y = x y y1 = 1, 4562
14

y = 1 y y1 = 2, 4562

y = y y1= 2, 4562

y ( IV ) = y y1( IV ) = 2, 4562

Assim, obtm-se finalmente:

0, 2 2 0, 23 0, 2 4
y (0, 4) = 1, 6562 + 0, 2.(1, 4562) + 2, 4562 + (2, 4562) + 2, 4562 + O ( h5 )
2 6 24

y (0, 4) 1, 41097

A soluo exata dada por y(x) = 3e-x + x 1. Para x = 0,4 y = 1,41104354.

4.2. Mtodos de passo simples para EDO de 1 ordem com condies iniciais

Os mtodos de passo simples possibilitam a obteno de y(xi+1) a partir apenas do


conhecimento de y(xi).

Mtodo de Euler:

O mtodo de Euler um dos mais antigos mtodos numricos para soluo de equaes
diferenciais. A expresso que define o mtodo pode ser obtida considerando-se uma srie
de Taylor truncada no termo de 1 ordem (em h). Portanto, seu erro de truncamento
relativamente grande. um mtodo frequentemente instvel, j que um pequeno erro de
arredondamento pode ampliar-se a medida que o valor x aumenta. Problemas de preciso
impedem a utilizao do mtodo na maioria dos problemas prticos. Pode-se demonstrar,
no entanto, que o erro tende a zero quando h tende a zero, mesmo que o nmero de passos
tenda ao infinito. O mtodo de Euler pode ser definido da seguinte forma:

y = f ( x, y )
dado o problema de valor inicial
y ( x0 ) = y0

a frmula de Euler fornece: yn+1 = yn + h. f ( xn , yn ) (n = 0,1, 2,...) (forma explcita)

O erro de truncamento dado por:

h2 h2
E=
f ( ) = y( )
2! 2

A forma apresentada acima para o mtodo de Euler chamada de forma explcita, pois
avalia a funo f(x, y) em (xn, yn). Uma forma implcita obtida considerando-se a seguinte
expresso:

yn+1 = yn + h. f ( xn +1 , yn +1 ) (n = 0,1, 2,...) (forma implcita)


15

onde observa-se que a funo f(x, y) avaliada em (xn+1, yn+1), necessitando, portanto, de um
processo iterativo de soluo (Newton-Raphson) ou ainda, quando possvel, uma reduo
forma explcita.

A frmula de Euler pode ser obtida tambm a partir de uma interpretao geomtrica. Dada
a soluo y(xn), calcula-se a primeira derivada y(xn), a qual determina a declividade de uma
reta que passa pelo ponto (xn, yn). Assim, obtm-se que:

y( x) = y( xn ) + y( xn ). ( x xn )

Na figura acima, observa-se que yn+1 o ponto onde a reta intercepta a ordenada levantada
em x = xn+1 = xn + h. Assim, yn+1 = yn + yn(xn+1 xn) = yn + h.f(xn, yn).

Exemplo: empregando o mtodo de Euler (h = 0,05; h = 0,01 e h = 0,001), determine a


soluo em x = 0,2 para o problema de valor inicial abaixo:

y = x + y

y0 = y ( x0 = 0) = 0

A soluo exata dada por Y(x) = ex x 1. Considerando que xi+1 = xi + h e h = 0,05, o


mtodo de Euler pode ser descrito atravs da frmula de recorrncia e da tabela descritas
abaixo:

yi +1 = yi + h. f ( xi , yi )

i xi yi f(xi, yi) yi+1 Yi+1


0 0 0 0 0 0,001271
1 0,05 0 0,05 0,0025 0,00571
2 0,1 0,0025 0,1025 0,007625 0,011834
3 0,15 0,007625 0,157625 0,015506 0,021402

Repetindo o procedimento acima para h = 0,01, obtm-se y(0,2) = 0,02019. Para h = 0,001,
obtm-se y(0,2) = 0,02128.
16

Mtodos de Runge-kutta:

Os mtodos de Runge-Kutta so mtodos de passo nico desenvolvidos a partir de


modificaes adequadas realizadas sobre a srie de Taylor. Estes mtodos necessitam
apenas da determinao de derivadas de primeira ordem e produzem resultados
equivalentes em preciso aos fornecidos por sries de Taylor de mais alta ordem. As
aproximaes de segunda, terceira e quarta ordem, por exemplo, obtm preciso
equivalente a expanses em srie de Taylor retendo termos at h2, h3 e h4, respectivamente,
necessitando para isso que se estimem dois, trs e quatro valores da funo f(x, y) no
subintervalo xi x xi+1. Possuem ainda a vantagem de ser auto-inicializados e de permitir
uma troca fcil do tamanho do intervalo, mas no possibilitam obter qualquer informao
sobre o erro de truncamento de uma forma simples.

Nos mtodos de Runge-Kutta procura-se substituir uma srie de Taylor truncada:

h2 h3
yi +1 = yi + hyi + yi + yi+

2 6

por uma aproximao do tipo:

yi +1 = yi + h 0 f ( xi , yi ) + 1 f ( xi + u1h, yi + b1h ) +
2 f ( xi + u2 h, yi + b2 h ) + + p f ( xi + u p h, yi + bp h )

onde os parmetros , u e b so escolhidos de forma a minimizar o erro da aproximao. A


equao acima pode ser escrita em uma forma mais compacta, como mostrado abaixo:

yi +1 = yi + 0 k0 + 1k1 + + p k p

onde:

k0 = h. f ( xi , yi )

k1 = h. f ( xi + u1h, yi + 10 k0 )

k2 = h. f ( xi + u2 h, yi + 20 k0 + 21k1 )

k p = h. f ( xi + u p h, yi + p 0 k0 + p1k1 + + p , p 1k p 1 )

A seguir so apresentadas as diferentes formas existentes entre os mtodos de Runge-Kutta


de acordo com a escolha da ordem de aproximao e dos parmetros de controle de erro
para um problema de valor inicial definido por:

y = f ( x, y )

y ( x0 ) = y0
17

1) Mtodos de Runge-kutta de 2 ordem:

1
yi +1 = yi + 2 ( k0 + k1 )

MTODO DE HEUN: k = h. f x , y
0
( i i)
k1 = h. f ( xi + h, yi + k0 )

Observa-se que a frmula acima emprega o mtodo de Euler duas vezes em sequncia,
como mostra a forma abaixo:

h
yi +1 = yi + f ( xi , yi ) + f ( xi +1 , yi +1 )
2
yi +1 = yi + h. f ( xi , yi )

Em um primeiro passo obtm-se uma estimativa preliminar da soluo atravs de yi +1 e, a


seguir, a soluo final obtida atravs de yi+1. Quando a soluo yi+1 determinada de
maneira iterativa (mtodo implcito), as duas equaes acima produzem a forma mais
simples dos chamados mtodos de predio-correo (predictor-corrector methods).

yi +1 = yi + h. f ( xi + h 2, yi +1 2 )

MTODO DE EULER MODIFICADO: h
yi +1 2 = yi + f ( xi , yi )
2

2) Runge-kutta de 3 ordem:

1
yi +1 = yi + 6 ( k0 + 4k1 + k2 )

k0 = h. f ( xi , yi )
FRMULA DE KUTTA:
k1 = h. f xi + h , yi + 1 k0
2 2

k2 = h. f ( xi + h, yi + 2k1 k0 )
18

1
yi +1 = yi + ( k0 + 3k2 )
4

k0 = h. f ( xi , yi )

FRMULA DE HEUN: 1 1
k1 = h. f xi + 3 h, yi + 3 k0

2 2
k2 = h. f xi + 3 h, yi + 3 k1

3) Runge-kutta de 4 ordem:

1
yi +1 = yi + 6 ( k0 + 2k1 + 2k2 + k3 )

k0 = h. f ( xi , yi )

h 1
FRMULA DE RUNGE-KUTTA: k1 = h. f xi + , yi + k0
2 2
h 1
k2 = h. f xi + , yi + k1
2 2
k3 = h. f ( xi + h, yi + k2 )

h
yi +1 = yi + ( k0 + 3k1 + 3k2 + k3 )
8

k0 = f ( xi , yi )

h h
FRMULA DE KUTTA: k1 = f xi + , yi + k0
3 3
2h h
k2 = f xi + , yi k0 + h.k1
3 3
k3 = f ( xi + h, yi + h.k0 h.k1 + h.k2 )

19

Exemplo 1: calcular pela frmula de Runge-Kutta de 2 ordem correspondente ao mtodo


de Heun a soluo do problema de valor inicial dado abaixo considerando h = 0,2 e o
intervalo [0, 1].

y = x y

y (0) = 2

Soluo exata: y(x) = 3e-x + x 1.

Mtodo de Heun:

1
yi +1 = yi + ( k0 + k1 ) k0 = h. f ( xi , yi )
2

k1 = h. f ( xi + h, yi + k0 ) f ( xi , yi ) = xi yi


k0 = 0, 2. f ( 0; 2 ) = 0, 2 ( 0 2 ) = 0, 4
x0 = 0
k1 = 0, 2. f ( 0, 2; 2 0, 4 ) = 0, 2 ( 0, 2 1, 6 ) = 0, 28
y0 = 2 1
y1 = 2 + ( 0, 4 0, 28 ) = 1, 66
2


k0 = 0, 2. f ( 0, 2;1, 66 ) = 0, 2 ( 0, 2 1, 66 ) = 0, 2920
x1 = 0, 2
k1 = 0, 2. f ( 0, 4;1, 66 0, 292 ) = 0, 2 ( 0, 4 1,368 ) = 0,1936
y1 = 1, 66 1
y2 = 1, 66 + ( 0, 292 0,1936 ) = 1, 4172
2


k0 = 0, 2. f ( 0, 4;1, 4172 ) = 0, 2 ( 0, 4 1, 4172 ) = 0, 20344
x2 = 0, 4
k1 = 0, 2. f ( 0, 6;1, 4172 0, 20344 ) = 0, 2 ( 0, 6 1, 2138 ) = 0,12276
y2 = 1, 4172 1
y3 = 1, 4172 + ( 0, 20344 0,12276 ) = 1, 2541
2


k0 = 0, 2. f ( 0, 6;1, 2541) = 0, 2 ( 0, 6 1, 2541) = 0,13082
x3 = 0, 6
k1 = 0, 2. f ( 0,8;1, 2541 0,13082 ) = 0, 2 ( 0,8 1,12328 ) = 0, 06466
y3 = 1, 2541 1
y4 = 1, 2541 + ( 0,13082 0, 06466 ) = 1,1564
2


k0 = 0, 2. f ( 0,8;1,1564 ) = 0, 2 ( 0,8 1,1564 ) = 0, 07128
x4 = 0,8
k1 = 0, 2. f (1, 0;1,1564 0, 07128 ) = 0, 2 (1, 0 1, 08512 ) = 0, 017024
y4 = 1,1564 1
y5 = 1,1564 + ( 0, 07128 0, 017024 ) = 1,1122
2
20

i xi yi k0 k1 Soluo exata
0 0 2,0 -0,4 -0,28 2,0
1 0,2 1,6600 -0,2920 -0,1936 1,656192
2 0,4 1,4172 -0,20344 -0,12276 1,410960
3 0,6 1,2541 -0,13082 -0,06466 1,246435
4 0,8 1,1564 -0,07128 -0,017024 1,147987
5 1,0 1,1122 - - 1,103638

Exemplo 2: aplicar o mtodo de Runge-Kutta de ordem 4 para obter aproximaes soluo


do problema de valor inicial abaixo usando h = 0,2 para x [0, 2].

y = y x 2 + 1

y (0) = 0,5

Soluo exata: y(x) = -0,5ex + x2 + 2x + 1.

Soluo exata Soluo pelo mtodo de Runge-Kutta


xi Erro |yex(xi) yRK(xi)|
yex(xi) yRK(xi)
0 0,5 0,5 0
0,2 0,8292986 0,8292933 0,0000053
0,4 1,2140877 1,2140762 0,0000114
0,6 1,6489406 1,6489220 0,0000186
0,8 2,1272295 2,1272027 0,0000269
1,0 2,6408591 2,6408227 0,0000364
1,2 3,1799415 3,1798942 0,0000474
1,4 3,7324000 3,7323401 0,0000599
1,6 4,2834838 4,2834095 0,0000743
1,8 4,8151763 4,8150857 0,0000906
2,0 5,3054720 5,3053630 0,0001089
21

Planilha de clculo:

i xi yi f(xi,yi) k0 xi+h/2 yi+k0/2 f(xi+h/2,yi+k0/2) k1 yi+k1/2 f(xi+h/2,yi+k1/2) k2 xi+h yi+k2 f(xi+h,yi+k2) k3 yn+1 h
0 0 0,5 1,5 0,3 0,1 0,65 1,64 0,328 0,664 1,654 0,3308 0,2 0,8308 1,7908 0,35816 0,8292933 0,2
1 0,2 0,8292933 1,7892933 0,3578587 0,3 1,0082227 1,918222667 0,3836445 1,0211156 1,9311156 0,3862231 0,4 1,2155165 2,055516453 0,4111033 1,2140762 0,2
2 0,4 1,2140762 2,0540762 0,4108152 0,5 1,4194838 2,169483832 0,4338968 1,4310246 2,181024594 0,4362049 0,6 1,6502811 2,290281129 0,4580562 1,648922 0,2
3 0,6 1,648922 2,288922 0,4577844 0,7 1,8778142 2,387814219 0,4775628 1,8877034 2,397703439 0,4795407 0,8 2,1284627 2,488462705 0,4976925 2,1272027 0,2
4 0,8 2,1272027 2,4872027 0,4974405 0,9 2,375923 2,565922953 0,5131846 2,383795 2,57379498 0,514759 1 2,6419617 2,641961681 0,5283923 2,6408227 0,2
5 1 2,6408227 2,6408227 0,5281645 1,1 2,904905 2,694904962 0,538981 2,9103132 2,700313189 0,5400626 1,2 3,1808853 2,740885331 0,5481771 3,1798942 0,2
6 1,2 3,1798942 2,7398942 0,5479788 1,3 3,4538836 2,763883587 0,5527767 3,4562825 2,766282529 0,5532565 1,4 3,7331507 2,773150676 0,5546301 3,7323401 0,2
7 1,4 3,7323401 2,7723401 0,554468 1,5 4,0095741 2,75957408 0,5519148 4,0082975 2,758297481 0,5516595 1,6 4,2839996 2,723999569 0,5447999 4,2834095 0,2
8 1,6 4,2834095 2,7234095 0,5446819 1,7 4,5557504 2,665750448 0,5331501 4,5499845 2,659984543 0,5319969 1,8 4,8154064 2,575406407 0,5150813 4,8150857 0,2
9 1,8 4,8150857 2,5750857 0,5150171 1,9 5,0725943 2,462594264 0,4925189 5,0613451 2,451345121 0,490269 2 5,3053547 2,305354719 0,4610709 5,305363 0,2
10 2 5,305363 2,305363 0,4610726 2,1 5,5358993 2,125899301 0,4251799 5,5179529 2,107952931 0,4215906 2,2 5,7269536 1,886953587 0,3773907 5,7273637 0,2

1
yi +1 = yi + 6 ( k0 + 2k1 + 2k2 + k3 )

k0 = h. f ( xi , yi )

h 1
Frmula de Runge-Kutta: k1 = h. f xi + , yi + k0
2 2
h 1
k2 = h. f xi + , yi + k1
2 2
k3 = h. f ( xi + h, yi + k2 )

22

4.3. Mtodos de passo mltiplo para EDO de 1 ordem com condies iniciais

Os mtodos de passo simples apresentam uma tendncia de aumentar o erro da soluo


aproximada em relao soluo exata, dado por |yapr(xi) yexa(xi)|, a medida que aumenta-
se o ndice localizador i, o qual define a posio sequencial dos pontos onde deseja-se obter
uma aproximao para a soluo do problema de valor inicial. Como o processo de obteno
da soluo aproximada em um dado ponto xi+1 atravs de um mtodo de passo simples
produz uma srie de solues aproximadas precedentes desde x0 at xi, mtodos mais
elaborados podem ser desenvolvidos com o objetivo de aproveitar estes dados precedentes
mais precisos para obter-se uma soluo aproximada em xi+1. Mtodos que utilizam
aproximaes em mais de um dos pontos precedentes para a obteno da soluo
aproximada no ponto seguinte so conhecidos como mtodos multipasso.

Dado um problema de valor inicial no intervalo [a, b] em x, como mostrado abaixo:

y = f ( x, y )

y ( x0 ) = y0

a equao geral que define um mtodo multipassos de m passos para a obteno de uma
soluo aproximada em um ponto xi+1 dada por:

yi +1 = am 1 yi + am 2 yi 1 + + a0 yi +1 m +
h bm f ( xi +1 , yi +1 ) + bm1 f ( xi , yi ) + + b0 f ( xi +1m , yi +1 m ) (i = m 1, m,, n 1; m > 1)

onde:

ba
h=
n

sendo que as constantes a0, a1, ..., am-1 e b0, b1, ..., bm e os valores iniciais y0, y1, ..., ym-1
devem ser especificados.

Quando bm = 0, o mtodo dito explcito, pois a aproximao yi+1 obtida em termos de


valores previamente determinados. Por outro lado, quando bm 0, o mtodo denominado
implcito, j que yi+1 se encontra em ambos os lados da equao e especificado apenas
implicitamente.

A deduo das frmulas dos mtodos de multipassos inicia-se observando que a integrao
da soluo do problema de valor inicial no intervalo [xi, xi+1] tem a seguinte propriedade:
xi +1 xi +1

y ( xi +1 ) y ( xi ) =
xi
y( x)dx = f ( x, y ( x) ) dx
xi

Logo:
xi +1

y ( xi +1 ) = y ( xi ) + f ( x, y ( x) ) dx
xi
23

Como no possvel integrar f(x, y(x)) sem conhecer y(x), que a soluo do problema,
integra-se um polinmio interpolador P(x) em substituio de f(x,y(x)). O polinmio
interpolador determinado a partir de alguns dos pontos de dados previamente obtidos, ou
seja, (x0, y0), (x1, y1), ..., (xi, yi). Alm disso, quando considera-se que y(xi) yi, a equao
acima passa a ser expressa por:
xi +1

y ( xi +1 ) yi + P( x)dx
xi

Embora seja possvel empregar qualquer forma de polinmio interpolador, mais comum
empregar-se a frmula de diferenas descendentes de Newton. Dependendo do nmero de
passos empregados, diferentes mtodos multipassos podem ser desenvolvidos, tanto
explcitos como implcitos. Na sequencia so apresentadas as duas formas mais comuns dos
mtodos de Adams-Bashforth e Adams-Moulton.

Mtodo de Adams-Bashforth:

Neste caso, adota-se como polinmio interpolador um polinmio de Newton em diferenas


descendentes de grau 3. O resultado um mtodo explcito de quatro passos, como mostra
a expresso abaixo:

h
yi +1 = yi + [55 f ( xi , yi ) 59 f ( xi 1 , yi1 ) + 37 f ( xi 2 , yi 2 ) 9 f ( xi 3 , yi 3 )] (i = 3, n 1)
24

Como o mtodo no auto-inicivel, quatro valores iniciais sucessivos de f(xi,yi) devem ser
fornecidos em pontos igualmente espaados. Estes valores iniciais so geralmente obtidos
atravs do mtodo passo simples de Runge-Kutta de 4 ordem, a fim de que tenham um
bom nvel de preciso. Comparando-se ao mtodo de Runge-Kutta, o mtodo de Adams-
Bashforth , em geral, menos exato, embora a ordem do erro de truncamento seja igual. O
erro de truncamento local da ordem de h5, sendo dado por:

251 5 (V )
E AB = h y ( )
720

Mtodo de Adams-Moulton:

A deduo do mtodo de Adams-Moulton feita seguindo os mesmos princpios


empregados pelo mtodo de Adam-s-Bashforth, com exceo do polinmio interpolador,
que utiliza o prprio ponto (xi+1) onde se deseja obter uma soluo aproximada. O resultado
um mtodo implcito de trs passos e de 4 ordem, como mostra a expresso abaixo:

h
yi +1 = yi + [9 f ( xi +1 , yi +1 ) + 19 f ( xi , yi ) 5 f ( xi1 , yi 1 ) + f ( xi 2 , yi 2 )] (i = 2, n 1)
24

Assim como no mtodo de Adam-Bashforth, quatro valores iniciais sucessivos de f(xi,yi)


devem ser fornecidos em pontos igualmente espaados para iniciar os procedimentos de
clculo. Estes valores iniciais podem ser obtidos atravs do mtodo de Adams-Bashforth.
Comparativamente, o erro de truncamento local nos mtodos implcitos menor do que o
24

erro apresentado pelos mtodos explcitos. O erro de truncamento local no mtodo de


Adams-Moulton da ordem de h5. Em geral, no possvel garantir uma soluo nica para
um mtodo implcito. Por exemplo, para f(x,y) = ex no possvel reduzir a forma implcita
para uma forma explcita equivalente (trazendo o termo direita da igualdade para o lado
esquerda da igualdade). Portanto, os mtodos implcitos so, na verdade, empregados como
parte dos procedimentos de soluo de mtodos do tipo preditor-corretor. O erro de
truncamento local pode ser determinado por:

19 5 (V )
E AM = h y ( )
720

Mtodos de predio-correo:

A soluo de problemas de valor inicial atravs de mtodos do tipo preditor-corretor


consiste na combinao de um mtodo explcito com um mtodo implcito. Geralmente, o
mtodo explcito produz uma primeira soluo aproximada e o mtodo implcito oferece
uma correo para a aproximao (predio) obtida inicialmente.

Mtodo de Adams-Bashforth-Moulton:

Para uma EDO dada por y = f(x, y) com h fixo e condio inicial y(x0) = y0, considerando que
xn = x0 + nh (n = 3, 4, ...), o mtodo preditor-corretor de Adams-Bashforth-Moulton pode ser
descrito atravs dos seguintes passos:

1) obter os valores iniciais y0, y1, y2 e y3 usando o mtodo de passo simples de 4 ordem
de Runge-Kutta:
1
yi +1 = yi + ( k0 + 2k1 + 2k2 + k3 ) (i = 0,1, 2)
6
2) calcular uma soluo aproximada (predio) empregando-se o mtodo explcito de
Adams-Bashforth de quatro passos:
h
+1 = yi +
yi(0) [55 f ( xi , yi ) 59 f ( xi 1 , yi 1 ) + 37 f ( xi 2 , yi 2 ) 9 f ( xi3 , yi3 )]
24
(i = 3, n 1)
3) calcular uma correo para a soluo de predio usando o mtodo implcito de
Adams-Moulton de trs passos:
h
yik+1 = yi + 9 f ( xi +1 , yik+11 ) + 19 f ( xi , yi ) 5 f ( xi 1 , yi 1 ) + f ( xi 2 , yi 2 )
24
(i = 3, n 1; k = 1, 2,...)
4) iterar em k at que a condio de convergncia seja obtida para um valor de
tolerncia previamente estabelecida:
yik+1 yik+11
< tol
yik+1

Na prtica, a frmula corretora usada somente uma vez. Assim, se o erro calculado no for
adequado, deve-se diminuir o valor de h. O erro da frmula corretora pode ser estimado
por:
25

yi +1 yi1+1
14
( yi+1 yi0+1 )
1 1

Pode-se demonstrar que o mtodo de Adams-Bashforth-Moulton um mtodo de 4


ordem.

Mtodo de Milne-Simpson:

O mtodo de Milne-Simpson emprega como preditor o mtodo explcito de Milne e como


corretor o mtodo implcito de Simpson, usualmente usado em integrao numrica. Os
passos de soluo do mtodo so dados conforme o seguinte algoritmo:

1) obter os valores iniciais y3, y2, y1 e y0 usando o mtodo de passo simples de 4 ordem
de Runge-Kutta.

2) utilizar a frmula de Milne para a obteno de uma primeira soluo aproximada


(predio):
4h
+1 = yi 3 +
yi(0) [ 2 f ( xi , yi ) f ( xi 1 , yi 1 ) + 2 f ( xi 2 , yi 2 )]
3
(i = 3, n 1)
3) empregar a frmula implcita de Simpson como correo da soluo de predio:
h
yik+1 = yi 1 + f ( xi +1 , yik+11 ) + 4 f ( xi , yi ) + f ( xi 1 , yi 1 )
3
(i = 3, n 1; k = 1, 2,...)

O erro local de truncamento relacionado com o mtodo de Milne-Simpson , geralmente,


menor que o erro do mtodo de Adams-Bashforth-Moulton. No entanto, a presente tcnica
tem uso limitado devido a problemas com o erro de arredondamento (mtodo instvel).

Exemplo 1: calcular uma aproximao para a soluo do problema de valor inicial abaixo
usando o mtodo de Adams-Bashforth com 1,0 x 1,5 e h = 0,1.

y = y 2

y (1) = 1

Para aplicar o mtodo de Adams-Bashforth ser necessrio obter 4 estimativas iniciais para a
funo f(x, y). Estes valores podem ser calculados empregando-se o mtodo de Runge-Kutta
de 4 ordem. Neste caso, para simplificar a demonstrao, sero adotados valores iniciais
obtidos a partir da soluo particular y = 1/x.

Frmula de Adams-Bashforth:

h
yi +1 = yi + [55 f ( xi , yi ) 59 f ( xi 1 , yi1 ) + 37 f ( xi 2 , yi 2 ) 9 f ( xi 3 , yi 3 )] (i = 3, n 1)
24

Para f(xi, yi) = -yi2 e considerando x0 = 1 e y0 = 1, x1 = 1,1 e y1 = 0,909091, x2 = 1,2 e y2 =


0,833333, x3 = 1,3 e y3 = 0,769231, obtm-se:
26

h
y4 = y3 + [55 f ( x3 , y3 ) 59 f ( x2 , y2 ) + 37 f ( x1 , y1 ) 9 f ( x0 , y0 )]
24

0,1
y4 = 0, 769231 + 55 ( 0,591716 ) 59 ( 0, 694444 ) + 37 ( 0,826446 ) 9 f ( 1, 0 )
24

y4 = 0, 714436

Considerando agora x1 = 1,1 e y1 = 0,909091, x2 = 1,2 e y2 = 0,833333, x3 = 1,3 e y3 =


0,769231, x4 = 1,4 e y4 = 0,714436, obtm-se:

h
y5 = y4 + [55 f ( x4 , y4 ) 59 f ( x3 , y3 ) + 37 f ( x2 , y2 ) 9 f ( x1 , y1 )]
24

y5 = 0, 714436 +
0,1
55 ( 0,510419 ) 59 ( 0,591716 ) + 37 ( 0, 694444 ) 9 f ( 0,826446 )
24

y5 = 0, 666860

n xn Soluo aproximada: yn f(xn, yn) = -yn2 Soluo exata: y(xn) = 1/xn


0 1,0 1,0 -1,0 1,0
1 1,1 0,909091 -0,826446 0,909091
2 1,2 0,833333 -0,694444 0,833333
3 1,3 0,769231 -0,591716 0,769231
4 1,4 0,714436 -0,510419 0,714286
5 1,5 0,666860 -0,444703 0,666667

O erro de truncamento local pode ser avaliado por:

251 5 (V )
E AB = h y ( )
720

Sendo y = 1/x, ento y(V) (x) = 5!/x6 120 (1,0 x 1,5).

Logo:

251 5
E AB 10 .120 EAB 4,18x104
720

Exemplo 2: obter solues aproximadas para o problema de valor inicial abaixo em x = 1,08
e x = 1,10 usando o mtodo de predio-correo de Adams-Bashforth-Moulton. Na tabela
apresentada na sequncia so fornecidas estimativas iniciais obtidas pelo mtodo de Runge-
Kutta de 4 ordem.
27

y = ( x. y 1)
12


y (1) = 2

n xn yn f(xn, yn) = (xn.yn 1)1/2


0 1,00 2,00 -1,00
1 1,02 1,97990199 -1,009702941
2 1,04 1,95961577 -1,018823047
3 1,06 1,93915284 -1,027376275

Inicialmente, calcula-se uma soluo aproximada (predio) empregando-se o mtodo


explcito de Adams-Bashforth de quatro passos:

h
+1 = yi +
yi(0) [55 f ( xi , yi ) 59 f ( xi 1 , yi 1 ) + 37 f ( xi 2 , yi 2 ) 9 f ( xi3 , yi3 )]
24
(i = 3, n 1)

h
y4(0) = y3 + [55 f ( x3 , y3 ) 59 f ( x2 , y2 ) + 37 f ( x1 , y1 ) 9 f ( x0 , y0 )]
24

y4(0) = 1,93915284 +
0, 02
55 ( 1, 027376275 ) 59 ( 1, 018823047 ) + 37 ( 1, 009702941) 9 ( 1, 00 )
24

y4(0) = 1,91852439

Logo, f(x4, y(0)4) = -1,035377391.

A seguir, calcula-se uma correo para a soluo de predio usando o mtodo implcito de
Adams-Moulton de trs passos:

h
yik+1 = yi + 9 f ( xi +1 , yik+11 ) + 19 f ( xi , yi ) 5 f ( xi 1 , yi 1 ) + f ( xi 2 , yi 2 )
24
(i = 3, n 1; k = 1, 2,...)

h
y4(1) = y3 + 9 f ( x4 , y40 ) + 19 f ( x3 , y3 ) 5 f ( x2 , y2 ) + f ( x1 , y1 )
24

y4(1) = 1,93915284 +
0, 02
9 ( 1, 035377391) + 19 ( 1, 027376275) 5 ( 1, 018823047 ) + ( 1, 009702941)
24

y4(1) = 1,91852440

Logo, f(x4, y(1)4) = -1,035377396.

Atualizando a tabela de dados, obtm-se:


28

n xn yn f(xn, yn) = (xn.yn 1)1/2


0 1,00 2,00 -1,00
1 1,02 1,97990199 -1,009702941
2 1,04 1,95961577 -1,018823047
3 1,06 1,93915284 -1,027376275
4 1,08 1,91852440 -1,035377396

Para a prxima soluo, em x = 1,1, procede-se da mesma forma. Inicialmente, uma soluo
aproximada (predio) calculada empregando-se o mtodo explcito de Adams-Bashforth
de quatro passos:

h
+1 = yi +
yi(0) [55 f ( xi , yi ) 59 f ( xi 1 , yi 1 ) + 37 f ( xi 2 , yi 2 ) 9 f ( xi3 , yi3 )]
24
(i = 3, n 1)

h
y5(0) = y4 + [55 f ( x4 , y4 ) 59 f ( x3 , y3 ) + 37 f ( x2 , y2 ) 9 f ( x1 , y1 )]
24

y5(0) = 1, 91852440 +
0, 02
55 ( 1, 035377396 ) 59 ( 1, 027376275 ) + 37 ( 1, 018823047 ) 9 ( 1, 009702941)
24

y5(0) = 1,897741326

Logo, f(x5, y(0)5) = -1,042840093.

Calcula-se agora a correo para a soluo de predio usando o mtodo implcito de


Adams-Moulton de trs passos:

h
yik+1 = yi + 9 f ( xi +1 , yik+11 ) + 19 f ( xi , yi ) 5 f ( xi 1 , yi 1 ) + f ( xi 2 , yi 2 )
24
(i = 3, n 1; k = 1, 2,...)

h
y5(1) = y4 + 9 f ( x5 , y50 ) + 19 f ( x4 , y4 ) 5 f ( x3 , y3 ) + f ( x2 , y2 )
24

y5(1) = 1,91852440 +
0, 02
9 ( 1, 042840093) + 19 ( 1, 035377396 ) 5 ( 1, 027376275 ) + ( 1, 018823047 )
24

y5(1) = 1,897741334 .

Portanto, y(1,08) = 1,91852440 e y(1,1) = 1,897741334.


29

4.4. Soluo de sistemas de equaes diferenciais de 1 ordem com condies iniciais

Para a obteno da soluo de um sistema de equaes diferenciais ordinrias (EDO) de 1


ordem pode ser empregado qualquer um dos mtodos de soluo vistos anteriormente,
apenas adaptando-os a fim de que sejam aplicados sequencialmente e em cada etapa a cada
uma das equaes do sistema.

Um problema de valor inicial descrito atravs de um sistema de n EDOs de 1 ordem pode


ser representado como mostrado abaixo:

dy1
dx = f1 ( x, y1 , y2 ,, yn ) y1 ( x1 ) = Y1

dy2 = f ( x, y , y ,, y ) y2 ( x1 ) = Y2
2 1 2 n
dx


dyn = f ( x, y , y , y , y ) yn ( x1 ) = Yn
dx n 1 2 3, n

onde Y1, Y2, ..., Yn so condies iniciais impostas em x = x1, com x1 x xm. Neste caso, o
objetivo obter n funes yi que satisfaam o sistema de equaes diferenciais e todas as
condies iniciais yi(x1).

Para a generalizao dos mtodos empregados na soluo de EDOs de uma equao,


empregam-se as seguintes definies:

ba
x j = a + jh h=
N
( j = 0,1,..., N ; N > 0; a x b )
Os valores aproximados das funes yi(x) em pontos especficos do intervalo [a, b] so
representados por yi,j, onde i = 1, 2, ..., n e j = 0, 1, ..., N. Ou seja, yi,j indica a soluo
aproximada da i-sima equao diferencial do sistema no ponto j do intervalo [a, b]. As
condies iniciais ficam definidas por yi,0.

Na sequncia so apresentados exemplos que ilustram a aplicao de alguns dos mtodos


de uma equao na soluo de problemas de valor inicial envolvendo sistemas de EDOs de
1 ordem.

Exemplo 1: calcular a soluo do sistema abaixo usando a frmula de Euler considerando o


intervalo 0 x 1 e N = 10.

y1 = xy2 + 1 y (0) = 0
com 1
y2 = xy1 y2 (0) = 1

A forma adaptada da frmula de Euler para o problema acima pode ser expressa como:
30

y1,n +1 = y1,n + h f1 ( xn , y1, n , y2, n )



y2,n +1 = y2,n + h f 2 ( xn , y1,n , y2,n )

Neste caso, tem-se:

ba 1
h= = = 0,1
N 10
x j = a + jh = 0,1 j
( j = 0,1,...,10; 0 x 1)

Sendo:

y1, n = f1 ( xn , y1,n , y2,n ) = xn y2,n + 1



y2, n = f 2 ( xn , y1, n , y2,n ) = xn y1,n

Logo:

y1,n +1 = y1,n + h f1 ( xn , y1,n , y2,n ) = y1,n + 0,1( xn y2,n + 1)



y2,n +1 = y2,n + h f 2 ( xn , y1,n , y2, n ) = y2,n + 0,1( xn y1,n )

Primeiras aproximaes:

x = 0; y = 0; y = 1
0 1,0 2,0

y1,n +1 = y1,n + 0,1( xn y2,n + 1) y1,1 = y1,0 + 0,1( x0 y2,0 + 1) = 0 + 0,1( 0.1 + 1) = 0,1

y2,n +1 = y2,n + 0,1( xn y1, n ) y2,1 = y2,0 + 0,1( x0 y1,0 ) = 1 + 0,1( 0.0 ) = 1

x = 0,1 j x = 0,1.1 = 0,1; y = 0,1; y = 1


j 1 1,1 2,1

y1,n +1 = y1,n + 0,1( xn y2,n + 1) y1,2 = y1,1 + 0,1( x1 y2,1 + 1) = 0,1 + 0,1( 0,1.1 + 1) = 0, 21

y2,n +1 = y2,n + 0,1( xn y1,n ) y2,2 = y2,1 + 0,1( x1 y1,1 ) = 1 + 0,1( 0,1.0,1) = 0,999

x = 0,1 j x = 0,1.2 = 0, 2; y = 0, 21; y = 0,999

j 2 1,2 2,2

y1,n +1 = y1,n + 0,1( xn y2,n + 1) y1,3 = y1,2 + 0,1( x2 y2,2 + 1) = 0, 21 + 0,1( 0, 2.0,999 + 1) = 0,3300

y2,n +1 = y2,n + 0,1( xn y1,n ) y2,3 = y2,2 + 0,1( x2 y1,2 ) = 0,999 + 0,1( 0, 2.0, 21) = 0,9948
31

Na tabela abaixo so apresentados os resultados obtidos:

j xj y1,j y'1,j = f1 y2,j y'2,j = f2


0 0 0,0 1,0 1,0 0,0
1 0,1 0,1 1,1 1,0 -0,01
2 0,2 0,21 1,1998 0,999 -0,042
3 0,3 0,33 1,2984 0,9948 -0,099
4 0,4 0,4598 1,3940 0,9849 -0,1839
5 0,5 0,5992 1,4833 0,9665 -0,2996
6 0,6 0,7475 1,5619 0,9365 -0,4485
: : : : : :
10 1,0 1,3993 --- 0,6322 ---

Exemplo 2: resolva o problema de valor inicial para o sistema abaixo usando o mtodo de
passo simples de Runge-Kutta de 4 ordem no intervalo 0 x 2 com h = 0,5.

y1 = 0,5 y1 y (0) = 4
com 1
y2 = 4 0,3 y2 0,1y1 y2 (0) = 6

Frmula de Runge-Kutta de 4 ordem adaptada para sistema de EDO de 1 ordem:

yi , j +1 = yi , j + 6 ( k0,i + 2k1,i + 2k2,i + k3,i )


1

k0,i = h. f i ( x j , yl , j ) (l = 1,.., neq )

k = h. f x + h , y + 1 k (l = 1,.., neq )
1,i i j l, j 0,l
2 2
h 1
k2,i = h. f i x j + , yl , j + k1,l (l = 1,.., neq )
2 2
k = h. f ( x + h, y + k ) (l = 1,.., neq )
3,i i j l, j 2,l

onde km,i representa o m-simo valor de km (m = 0, 1, 2 e 3) para a i-sima varivel


dependente yi,j, sendo j o ndice que define os pontos xj (j = 0, ..., n) nos quais so obtidas as
aproximaes.

Aplicando a formulao ao problema definido acima, obtm-se:

x j +1 = x j + h ( j = 0,..., N )

f1 ( x j , y1, j , y2, j ) = 0, 5 y1, j

f 2 ( x j , y1, j , y2, j ) = 4 0,3 y2, j 0,1 y1, j

k0,1 = h. f1 ( x0 , y1,0 , y2,0 ) = h. f1 ( 0, 4, 6 ) = 0, 5 ( 0, 5.4 ) = 1


32

k0,2 = h. f 2 ( x0 , y1,0 , y2,0 ) = h. f 2 ( 0, 4, 6 ) = 0, 5 ( 4 0,3.6 0,1.4 ) = 0, 9

Na sequncia, as funes so avaliadas em novas posies, como mostrado abaixo:

h 1 1
f1 x0 + , y1,0 + k0,1 , y2,0 + k0,2 = f1 ( 0, 25; 4 0,5;6 + 0, 45 ) = 0,5.3,5 = 1, 75
2 2 2

h 1 1
f 2 x0 + , y1,0 + k0,1 , y2,0 + k0,2 = f 2 ( 0, 25; 4 0,5;6 + 0, 45 )
2 2 2
= 4 0,3.6, 45 0,1.3,5 = 1, 715

Com isso, obtm-se os coeficientes k1 a partir de:

k1,1 = h. f1 ( 0, 25;3,5;6, 45 ) = 0,5 ( 1, 75 ) = 0,875

k1,2 = h. f 2 ( 0, 25;3,5;6, 45 ) = 0,5 (1, 715) = 0,8575

As funes so novamente avaliadas em novas posies, como mostrado abaixo:

h 1 1
f1 x0 + , y1,0 + k1,1 , y2,0 + k1,2 = f1 ( 0, 25; 4 0, 4375;6 + 0, 42875 )
2 2 2
= 0,5.3,5625 = 1, 78125

h 1 1
f 2 x0 + , y1,0 + k1,1 , y2,0 + k1,2 = f1 ( 0, 25; 4 0, 4375;6 + 0, 42875 )
2 2 2
= 4 0,3.6, 42875 0,1.3,5625 = 1, 715125

Assim, os coeficientes k2 so obtidos a partir de:

k2,1 = h. f1 ( 0, 25;3,5625;6, 42875 ) = 0,5 ( 1, 78125 ) = 0,890625

k2,2 = h. f 2 ( 0, 25;3,5625;6, 42875 ) = 0,5 (1, 715125 ) = 0,8575625

Finalmente, as funes so avaliadas na ltima posio, conforme indicado abaixo:

f1 ( x0 + h, y1,0 + k2,1 , y2,0 + k2,2 ) = f1 ( 0,5; 4 0,890625;6 + 0, 42878125 )


= 0,5.3,109375 = 1,5546875

f 2 ( x0 + h, y1,0 + k2,1 , y2,0 + k2,2 ) = f 2 ( 0,5; 4 0,890625;6 + 0,8575625 )


= 4 0,3.6,8575625 0,1.3,109375 = 1, 63179375

Os coeficientes k3 so ento calculados a partir de:

k3,1 = h. f1 ( 0,5;3,109375;6,8575625 ) = 0,5 ( 1,5546875) = 0, 77734375


33

k3,2 = h. f 2 ( 0,5;3,109375;6,8575625 ) = 0,5 (1, 63179375) = 0,815896875

Assim, as primeiras aproximaes podem ser obtidas empregando-se as expresses abaixo:

( k0,1 + 2k1,1 + 2k2,1 + k3,1 ) = 4 + 1 + 2 ( 0,875 ) + 2 ( 0,890625 ) 0, 77734375


1 1
y1,1 = y1,0 +
6 6

y1,1 = 3,115234375

y2,1 = y2,0 +
1
6
( k0,2 + 2k1,2 + 2k2,2 + k3,2 )
1
= 6 + 0,9 + 2 ( 0,8575 ) + 2 ( 0,8575625 ) + 0,815896875
6

y2,1 = 6,8576703125

Continuando o procedimento para os prximos passos, obtm-se os seguintes resultados:

j xj y1,j y2,j
0 0 4 6
1 0,5 3,115234 6,857670
2 1,0 2,426171 7,632106
3 1,5 1,889523 8,326886
4 2,0 1,471577 8,946865

4.5. Soluo de problemas de valor inicial para equaes diferenciais de 2 ordem ou


ordem mais elevada

Problemas de valor inicial envolvendo equaes diferenciais ordinrias de ordem superior a


1 podem ser resolvidos empregando-se os mtodos vistos anteriormente para EDO de 1
ordem. Para isso, necessrio que seja feita primeiramente uma substituio de variveis
com o propsito de transformar uma equao diferencial de ordem elevada em um sistema
de equaes diferenciais ordinrias de 1 ordem.

Um problema de valor inicial dado por uma equao diferencial ordinria de 2 ordem, por
exemplo, pode ser descrito da seguinte forma:

y = f ( x, y, y )

y ( x0 ) = y0
y ( x ) = y
0 0

O problema pode ser reduzido a uma equao diferencial de primeira ordem atravs de uma
mudana de variveis do tipo y = u, ou seja:

y = u

u = f ( x, y, u )
34

As condies iniciais passam a ser dadas por:

y ( x0 ) = y0

u ( x0 ) = y0

Problemas de valor inicial associados a uma equao diferencial ordinria de ordem m


qualquer podem ser descritos da seguinte forma:

(
y ( m) = f x, y, y,, y m1 ) ( a x b)

juntamente com as condies iniciais y (a ) = ya , y(a ) = ya , y ( m1) (a) = ya( m1) . A equao
acima pode ser convertida em um sistema de equaes diferenciais ordinrias de 1 ordem
empregando-se as seguintes relaes:

u1 = y
u2 = u1 = y
u3 = u2 = y

un 1 = un 2 = y ( n 1)

d3y dy d2y
Para a equao diferencial ordinria de 3 ordem = 2 x 3 y + 4 + x , por
dx3 dx dx 2
exemplo, obtm-se:

dy
dx = u1

du1
= u2
dx
du2
dx = 2 x 3 y + 4u1 + xu2

Da mesma forma, um sistema de equaes diferenciais de ordem mais alta, por exemplo,
dado por:

dny dy d n 1 y dz d n 1 z
= f x, y, , , n 1 , z , , , n 1
dx n dx dx dx dx
dnz dz d n 1 z dy d n 1 y
= f x , z , , , , y , , ,
dx n dx dx n 1 dx dx n 1

pode ser transformado em um sistema de EDOs de primeira ordem da seguinte forma:


35

dy dz
u1 = v1 =
dx dx
du d 2 y dv d 2 z
u2 = 1 = 2 v2 = 1 = 2
dx dx dx dx
du d3y dv d 3z
u3 = 2 = 3 v3 = 2 = 3
dx dx dx dx

dun 2 d n 1 y dvn 2 d n 1 z
un 1 = = n 1 vn 1 = = n 1
dx dx dx dx

Por exemplo, para o sistema abaixo:

d3y dy d2y dz
3 = 2 x 3 y + 4 + x 2
+ x2 + 3y2 z
dx dx dx dx
2 2
d z = 5 x 3z 2 y + 7 dz + 3x3 d y
dx 2 dx dx 2

emprega-se a seguinte transformao:

dy
dx = u1
2
d y du1
dx 2 = u2 dx = u2

dz
= v1
dx
du2
dx = 2 x 3 y + 4u1 + xu2 + x v1 + 3 y z
2 2

dv1 = 5 x 3 z 2 y + 7v + 3 x3u
dx 1 2

Exemplo 1: dado o problema de valor inicial abaixo, determine a soluo em x = 0,5


empregando o mtodo de passo simples de Runge-Kutta de 4 ordem.

y + 2 y 2 = e x

y (0) = 0
y(0) = 0

Rearranjando a equao, obtm-se:

y = e x 2 y 2

Logo, fazendo y = u e u = y, chega-se a:


36

y = u y (0) = 0
com
u = e 2 y u (0) = 0
x 2

Considerando que h = 0,5, x0 = 0, y0 = 0 e u0 = 0, obtm-se:

x1 = x0 + h x1 = 0, 5

f1 ( x j , y j , u j ) = u j

f 2 ( x j , y j , u j ) = e 2 y j
xj 2

A soluo do sistema acima pelo mtodo de passo simples de Runge-Kutta de 4 ordem


dada por:

y j +1 = y j + 6 ( k0,1 + 2k1,1 + 2k2,1 + k3,1 )


1

u = u + 1 ( k + 2k + 2k + k )
j +1 j
6
0,2 1,2 2,2 3,2

k0,i = h. fi ( x j , y j , u j )

k1,i = h. fi x j + , y j + k0,1 , u j + k0,2
h 1 1
2 2 2

k2,i = h. f i x j + h , y j + 1 k1,1 , u j + 1 k1,2
2 2 2

k3,i = h. f i ( x j + h, y j + k2,1 , u j + k2,2 )

Portanto, obtm-se inicialmente:

k0,1 = h. f1 ( x0 , y0 , u0 ) = 0,5. f1 ( 0, 0, 0 ) = 0,5 ( 0 ) = 0

k0,2 = h. f 2 ( x0 , y0 , u0 ) = 0, 5. f 2 ( 0, 0, 0 ) = 0,5 ( e 0 2.0 2 ) = 0, 5

Na sequncia, as funes so avaliadas em novas posies, como mostrado abaixo:

h 1 1
f1 x0 + , y0 + k0,1 , u0 + k0,2 = f1 ( 0, 25;0;0, 25 ) = 0, 25
2 2 2

h 1 1
f 2 x0 + , y0 + k0,1 , u0 + k0,2 = f 2 ( 0, 25;0;0, 25 ) = e0,25 2.02 = 1, 284026
2 2 2

Com isso, obtm-se os coeficientes k1 a partir de:

k1,1 = h. f1 ( 0, 25;0;0, 25 ) = 0,5 ( 0, 25 ) = 0,125

k1,2 = h. f 2 ( 0, 25;0;0, 25 ) = 0,5 (1, 284026 ) = 0, 642013


37

As funes so novamente avaliadas em novas posies, como mostrado abaixo:

h 1 1
f1 x0 + , y0 + k1,1 , u0 + k1,2 = f1 ( 0, 25;0, 0625;0,3210065 ) = 0,3210065
2 2 2

h 1 1
f 2 x0 + , y0 + k1,1 , u0 + k1,2 = f1 ( 0, 25;0, 0625;0,3210065 )
2 2 2
= e0,25 2.(0, 0625) 2 = 1, 2762135

Assim, os coeficientes k2 so obtidos a partir de:

k2,1 = h. f1 ( 0, 25;0, 0625;0,3210065 ) = 0,5 ( 0,3210065 ) = 0,16050325

k2,2 = h. f 2 ( 0, 25;0, 0625;0,3210065 ) = 0,5 (1, 2762135 ) = 0, 63810675

Finalmente, as funes so avaliadas na ltima posio, conforme indicado abaixo:

f1 ( x0 + h, y0 + k2,1 , u0 + k2,2 ) = f1 ( 0,5;0,16050325;0, 63810675) = 0, 63810675

f 2 ( x0 + h, y0 + k2,1 , u0 + k2,2 ) = f 2 ( 0,5;0,16050325;0, 63810675 )


= e0,5 2.(0,16050325)2 = 1,5971132

Os coeficientes k3 so ento calculados a partir de:

k3,1 = h. f1 ( 0,5;0,16050325;0, 63810675 ) = 0,5 ( 0, 63810675 ) = 0,3190534

k3,2 = h. f 2 ( 0,5;0,16050325;0, 63810675 ) = 0,5 (1,5971132 ) = 0, 7985566

Assim, a soluo aproximada para a equao diferencial acima pode ser obtida empregando-
se a expresso abaixo:

y (0,5) = y0 +
1
6
( k0,1 + 2k1,1 + 2k2,1 + k3,1 )
1
= 0 + 0 + 2. ( 0,125 ) + 2. ( 0,16050325 ) + 0,3190534 = 0,1483433
6

4.6. Estabilidade e erro

A estabilidade numrica uma caracterstica importante que qualquer mtodo numrico


empregado na soluo de equaes diferenciais deve apresentar. Um mtodo estvel
aquele onde pequenas variaes nos valores dos dados do problema acarretam apenas
pequenas variaes nos resultados. Os erros de arredondamento por limitaes de preciso
dos nmeros de mquina associados a constantes do modelo fsico, condies iniciais e
operaes aritmticas, por exemplo, so fontes de instabilizao de um mtodo numrico.
38

Diz-se que um mtodo de um passo consistente (ou compatvel) com a equao diferencial
que aproxima quando:

lim max Ei ( h) = 0
h 0 1 i N

onde Ei(h) o erro de truncamento local no i-simo passo. Outro aspecto relevante diz
respeito convergncia. Um mtodo de um passo dito convergente em relao a uma
dada equao diferencial se satisfaz a seguinte condio:

lim max yi yex ( xi ) = 0


h 0 1 i N

onde yex(xi) a soluo exata da equao diferencial e yi a soluo aproximada, ambas


avaliadas no passo i.

A estabilidade de um esquema numrico depende basicamente do mtodo de soluo


utilizado, do passo de integrao h adotado na soluo numrica e das caractersticas da
equao diferencial a ser resolvida. Quando um mtodo estvel, verifica-se que o erro de
truncamento local no cresce medida que a soluo avana. Alm disso, o erro de
truncamento global decresce (ou pelo menos no aumenta) com a reduo de h.

Observa-se que os mtodos explcitos so condicionalmente estveis, enquanto que os


mtodos implcitos so incondicionalmente estveis. Todos os mtodos de passo simples so
estveis desde que o tamanho do passo seja suficientemente pequeno.

4.7. Soluo de problemas de valor de contorno para equaes diferenciais ordinrias de


2 ordem

Problemas de valor de contorno envolvendo equaes diferenciais so definidos a partir da


imposio de condies de fronteira em mais do que um ponto. Para equaes diferenciais
de primeira ordem, apenas uma condio deve ser especificada, fazendo com que no haja
distino entre problemas de valor inicial e de contorno. Por outro lado, equaes
diferenciais de 2 ordem exigem duas condies de contorno em locais diferente do domnio
de anlise.

Na sequncia ser demonstrada a aplicao do Mtodo das Diferenas Finitas na soluo de


problemas de valor de contorno envolvendo equaes diferenciais de 2 ordem lineares e
no lineares.

Mtodo das diferenas finitas para equaes de 2 ordem lineares:

Considera-se inicialmente uma equao diferencial ordinria linear de 2 ordem com


condies de contorno especificadas nos pontos extremos de um intervalo [a, b] definido em
x. O intervalo ento dividido em N partes iguais de comprimento h.

Fixando-se x0 = a e xN = b, define-se xn = x0 + n.h, sendo n (n = 1, 2, ..., N-1) o nmero de


pontos interiores do intervalo [a, b]. Os valores correspondentes de y nestes pontos so
dados por yn = y(x0 + n.h).
39

Cada derivada da equao deve ser aproximada por diferenas finitas. Neste caso,
empregam-se usualmente diferenas centrais em razo da maior exatido apresentada no
clculo de derivadas. Assim, define-se uma equao diferencial linear de 2 ordem na forma:

y ( x ) + f ( x ) y ( x ) + g ( x ) y ( x ) = q ( x )

com condies de contorno especificadas por:

y ( x0 ) = y0 ou y( x0 ) = y0

y ( xN ) = y N ou y ( xN ) = yN

Considerando-se h = (xN x0)/N e xn = x0 + n.h (n = 0, 1, 2, ..., N) e aproximaes por


diferenas finitas centrais para as derivadas de primeira e segunda ordens, obtm-se:

yn +1 yn 1
y ( xn ) yn = y ( xn ) = yn + O (h 2 )
2h

yn +1 2 yn + yn 1
y ( xn ) yn = y ( xn ) = yn + O ( h 2 )
h2

Substituindo as derivadas na equao diferencial pelas respectivas aproximaes, chega-se


a:

yn +1 2 yn + yn 1 y y
2
+ f ( x ). n +1 n 1 + g ( x ) y ( x ) = q ( x ) ( n = 1, 2,..., N 1)
h 2h

Uma vez que as condies de contorno y0 e yN sejam especificadas, a equao acima leva a
formao de um sistema de equaes lineares com N-1 equaes e N-1 incgintas yn (n = 1,
2, ..., N-1). Observa-se que a matriz de coeficientes do sistema uma matriz tridiagonal de
ordem N-1, isto :

a11 a12
a a22 a23 0
21
a32 a33 a34

0
ann 1 ann

importante destacar que o valor h no deve ser demasiadamente pequeno para evitar
instabilidades na aproximao das derivadas. Por outro lado, tambm no deve ser muito
grande a fim de manter o erro de truncamento em um nvel de preciso aceitvel.

Pode-se demonstrar que o sistema de equaes obtido a partir das aproximaes em


diferenas finitas para uma equao diferencial de 2 ordem do tipo y(x) + f(x)y(x) +
g(x)y(x) = q(x) tem soluo nica quando as seguintes condies so satisfeitas:

a) f(x), g(x) e q(x) so contnuas no intervalo [a, b];


b) g(x) 0 no intervalo [a, b];
40

c) h < 2/L, sendo L = mx(a x b) f(x).

Para assegurar que o erro de truncamento mantenha-se na ordem de O(h2), deve-se


estabelecer que y(IV) contnua no intervalo [a, b].

Exemplo: calcular a soluo do problema de valor de contorno definido abaixo em quatro


pontos internos do intervalo [0, 1].

y + xy + y = 2 x

y (0) = 1
y (1) = 0

Para quatro pontos internos, tem-se que N = 5. Logo, h = (1 0)/5 = 0,2 e xn = x0 + n.h (n = 1,
.., 4).

A forma discretizada da equao diferencial dada por:

yn +1 2 yn + yn 1 y yn 1
2
+ xn . n +1 + yn = 2 xn
h 2h

onde possvel identificar as funes f(x) = x, g(x) = 1 e q(x) = 2x. Multiplicando todos os
termos da equao por h2 = 0,04, obtm-se:

yn +1 2 yn + yn 1 + 0,1.xn . ( yn +1 yn1 ) + 0, 04. yn = 0,08.xn (n = 1, 2,3, 4)

(1 + 0,1xn ) yn+1 1,96 yn + (1 0,1xn ) yn1 = 0,08.xn

Para n = 1:

(1 + 0,1.0, 2 ) y2 1,96 y1 + (1 0,1.0, 2 ) y0 = 0, 08.0, 2


1, 02 y2 1,96 y1 + 0,98 y0 = 0, 016

Como y0 = y(0) = 1, obtm-se:

1, 02 y2 1,96 y1 = 0,964

Para n = 2:

(1 + 0,1.0, 4 ) y3 1,96 y2 + (1 0,1.0, 4 ) y1 = 0, 08.0, 4


1, 04 y3 1, 96 y2 + 0,96 y1 = 0, 032

Para n = 3:

(1 + 0,1.0, 6 ) y4 1,96 y3 + (1 0,1.0, 6 ) y2 = 0, 08.0, 6


41

1, 06 y4 1,96 y3 + 0,94 y2 = 0, 048

Para n = 4:

(1 + 0,1.0,8) y5 1,96 y4 + (1 0,1.0,8) y3 = 0, 08.0,8


1, 08 y5 1, 96 y4 + 0,92 y3 = 0, 064

Como y5 = y(1) = 0, obtm-se:

1, 96 y4 + 0,92 y3 = 0, 064

A soluo da equao diferencial nos quatro pontos especificados obtida a partir do


seguinte sistema de equaes lineares:

1,96 1, 02 0 0 y1 0,964
0, 96 1,96 1, 04
0 y2 0, 032
=
0 0,94 1,96 1, 06 y3 0, 048

0 0 0, 92 1,96 y4 0, 064

Portanto:

y1 = 0, 742476
y = 0, 481620
2

y3 = 0, 253076
y4 = 0,086138

Mtodo das diferenas finitas para equaes de 2 ordem no lineares:

Problemas de valor de contorno com EDOs de 2 ordem no lineares so resolvidos


empregando-se o mesmo procedimento de substituio das derivadas por aproximaes em
diferenas finitas. Entretanto, neste caso, o sistema de equaes resultante do processo de
discretizao leva a um sistema de equaes no lineares.

Para o problema de valor de contorno abaixo, por exemplo, observa-se que aps a
discretizao da equao diferencial em diferenas finitas centradas, obtm-se um sistema
de equaes no linear, cuja soluo determinada empregando-se qualquer um dos
mtodos de soluo de sistemas de equaes no lineares (ex.: mtodo de Newton-
Raphson).

y = 2 y. y x [ 0,1] ; h = 0, 2

y (0) = 1
y (1) = 0,5

Aplicando-se as aproximaes em diferenas finitas centrais, obtm-se:


42

yn +1 2 yn + yn 1 y y
2
= 2 yn . n +1 n 1 (i = 1, 2,3, 4)
h 2h

yn +1 2 yn + yn 1 + hyn ( yn +1 yn 1 ) = 0

O sistema de equaes obtido aps a substituio das derivadas pelas suas respectivas
aproximaes em diferenas finitas apresenta a seguinte forma:

2 y1 + y2 + 0, 2 y1 ( y2 1) = 1

y1 2 y2 + y3 + 0, 2 y2 ( y3 y1 ) = 0

y2 2 y3 + y4 + 0, 2 y3 ( y4 y2 ) = 0
y3 2 y4 + 0, 2 y4 ( 0,5 y3 ) = 0, 5

5. Mtodos numricos para a soluo de equaes diferenciais parciais

Com exceo a alguns casos mais simples, onde mtodos envolvendo separao de variveis
e transformadas de Laplace/Fourier podem ser empregados, a soluo de problemas de
contorno descritos por equaes diferenciais parciais (EDP) s pode ser obtida de forma
aproximada atravs de procedimentos numricos. Embora haja vrias alternativas de
mtodos a serem utilizados, como, por exemplo, o Mtodo dos Elementos Finitos e o
Mtodo dos Volumes Finitos, ser empregado neste material o Mtodo das Diferenas
Finitas.

5.1. Definies

Devido a sua importncia na descrio de vrios fenmenos fsicos (p.ex.: dinmica de


fluidos, transferncia de calor e massa), uma anlise detalhada feita inicialmente com
respeito s equaes diferenciais parciais de 2 ordem.

A forma geral de uma equao diferencial parcial de segunda ordem em duas variveis
independentes (x e y) e uma varivel dependente (u) dada por:

2u 2u 2u u u
A + B + C + D + E + Fu = G
x 2
xy x 2
x y

onde A, B, C, D, E, F e G so os coeficientes da equao, os quais devem ser apenas funes


de x e y para que a mesma seja linear. Quando G(x, y) = 0, a equao dita homognea,
sendo classificada como no homognea em caso contrrio.

A soluo da equao acima uma funo u(x, y), a qual possui todas as derivadas parciais
presentes na equao e satisfaz a equao diferencial em alguma regio do plano xy. Para a
maioria das EDP lineares de 2 ordem, mesmo com coeficientes constantes, no se pode
obter uma soluo geral. No entanto, solues particulares podem ser obtidas facilmente.
43

Classificao:

Uma EDP linear de 2 ordem com coeficientes constantes a duas variveis independentes e
uma varivel dependente pode ser classificada em: hiperblica, parablica e elptica. Essa
classificao depende apenas dos coeficientes das derivadas parciais de segunda ordem,
assumindo que ao menos um dos coeficientes A, B e C seja diferente de zero.

Dada a EDP linear de segunda ordem abaixo:

2u 2u 2u u u
A + B + C + D + E + Fu = 0
x 2
xy y 2
x y

onde A, B, C, D, E e F so constantes reais, adota-se a seguinte classificao:

EDP hiperblica: B2 4AC > 0;

EDP parablica: B2 4AC = 0;

EDP elptica: B2 4AC < 0.

Exemplo: classifique as equaes abaixo

2u u
a) 3 = A = 3, B = 0 e C = 0. Como B2 4AC = 0, a equao parablica.
x 2 y

2 u 2u
b) = A = 1, B = 0 e C = -1. Como B2 4AC = 4, a equao hiperblica.
x 2 y 2

2u 2u
c) 2 + 2 = 0 A = 1, B = 0 e C = 1. Como B2 4AC = -4, a equao elptica.
x y

Dependendo da classificao da EDP possvel estabelecer o conjunto mais adequado de


condies de contorno a serem consideradas na soluo de problemas de valor de contorno
e de condies iniciais.

Condies iniciais e de contorno:

Os conceitos de problema de valor inicial e problema de valor de contorno vistos no estudo


de equaes diferenciais ordinrias (EDO) so estendidos a EDP considerando aspectos
fsicos, onde as condies iniciais so impostas em equaes onde o tempo uma das
variveis independentes e as condies de contorno representam restries impostas sobre
as variveis dependentes e suas derivadas espaciais nas fronteiras do espao no qual a
soluo da equao diferencial buscada. As condies iniciais indicam a distribuio inicial
(t = 0) das variveis dependentes do problema e de suas derivadas temporais, dependendo
da ordem do termo temporal da equao diferencial governante. Por outro lado, as
condies de contorno so impostas nos contornos do domnio geomtrico de soluo do
problema para t > 0.
44

Para uma EDP qualquer, trs tipos de condies de contorno podem ser impostos nas
fronteiras do espao onde deseja-se obter uma soluo particular. Por exemplo: dada uma
EDP de 2 ordem em uma varivel dependente u(x, t), pode-se especificar uma das seguintes
condies de contorno em x = x0:

a) condio de contorno de Dirichlet: u ( x0 , t ) = u0

u
b) condio de contorno de Neumann: = ux 0
x x = x0

u
c) condio de contorno de Robin: = au0 + bu x 0 ; com a e b constantes.
x x = x0

Nos contornos do espao que contm a soluo da equao diferencial, diferentes


combinaes das condies descritas acima podem ser especificadas de acordo com as
caractersticas fsicas do problema.

Nas sees a seguir, estuda-se a aplicao do Mtodo das Diferenas Finitas na soluo de
EDP de 2 ordem lineares.

5.2 Equaes diferenciais parciais elpticas

Um exemplo clssico de equao diferencial parcial elptica a equao de Laplace, expressa


no caso bidimensional por:

2u 2u
+ =0
x 2 y 2

A equao de Laplace pode ser vista como um caso particular da equao de Poisson,
expressa por:

2u 2u
+ = f ( x, y )
x 2 y 2

onde f(x, y) = 0.

A equao de Laplace aparece, por exemplo, como a equao que governa a transferncia
de calor nos slidos em regime estacionrio e na equao de conservao de massa de
fluidos em escoamento incompressvel.

Sendo u a varivel dependente da equao diferencial, onde u = f(x, y), as aproximaes por
diferenas finitas centrais para as derivadas parciais de 2 ordem presentes na equao de
Laplace so dadas por:
45

2u u ( x + h, y ) 2u ( x, y ) + u ( x h, y ) ui +1, j 2ui , j + ui 1, j
=
x 2 h2 h2
2u u ( x, y + h) 2u ( x, y ) + u ( x, y h) ui , j +1 2ui , j + ui , j 1
=
y 2 h2 h2

Pode-se adotar uma forma compacta para representar a posio (x, y) onde a varivel u
avaliada no espao de validade da equao diferencial. Assim, baseado em uma notao
indicial, obtm-se:

u ( x, y ) = ui , j
u ( x + h, y ) = ui +1, j
u ( x h, y ) = ui 1, j
u ( x, y + h) = ui , j +1
u ( x, y h) = ui , j 1

Desta forma, as aproximaes para as derivadas parciais da equao de Laplace podem ser
reescritas como:

2u ui +1, j 2ui , j + ui 1, j

x 2 h2
2u ui , j +1 2ui , j + ui , j 1

y 2 h2

Substituindo as expresses acima na equao de Laplace, obtm-se a equao


correspondente discretizada em diferenas finitas, dada por:

ui +1, j + ui , j +1 + ui 1, j + ui , j 1 4ui , j = 0

A equao acima pressupe a discretizao do espao de anlise (regio R delimitada por


uma curva de contorno C ver figura acima) atravs de uma malha bidimensional formada
por uma rede de pontos com espaamento h em ambas as direes. Ligando os pontos entre
si, obtm-se um conjunto de retas horizontais e verticais dispostas ortogonalmente, onde os
46

pontos de interseco Pi,j = P(ih, jh), com i e j inteiros (i = 0, 1, ..., ni; j = 0, 1, ..., nj), definem
os ns da malha e, portanto, os locais onde sero obtidas aproximaes para a soluo da
equao diferencial. Um n dito interior quando seus quatro ns vizinhos mais prximos
esto todos contidos na regio R, sendo os demais designados como ns de contorno. O
valor h define o tamanho da malha, ou seja, o nvel de discretizao espacial do problema.
Quando os ns de contorno no coincidem com o contorno C da regio de anlise R, os
valores desejados podem ser determinados por interpolao.

Exemplo: obter a soluo do problema abaixo usando o Mtodo das Diferenas Finitas com
h = 2/3 e h = 1/2.

2u 2u
+
x 2 y 2
=0 ( x [0, 2]; y [0, 2])
u (0, y ) = 0; u (2, y ) = y (2 y )

x 0 x 1
u ( x , 0) = 0; u ( x , 2) =
2 x 1 x 2

Usando a discretizao com h = 2/3 obtm-se a seguinte malha:

onde os pontos claros indicam os ns internos e os pontos escuros denotam os pontos de


contorno da malha.

A forma discretizada em diferenas finitas centrais da equao diferencial que governa o


presente problema dada por:

ui +1, j + ui , j +1 + ui 1, j + ui , j 1 4ui , j = 0

Assim, obtm-se:

Para P11 (i = 1, j = 1):

ui +1, j + ui , j +1 + ui 1, j + ui , j 1 4ui , j = 0

u2,1 + u1,2 + u0,1 + u1,0 4u1,1 = 0

Aplicando-se as condies de contorno u0,1 = u(0,2/3) = 0 e u1,0 = u(2/3,0) = 0, chega-se a:


47

4u1,1 + u2,1 + u1,2 = 0

Para P21 (i = 2, j = 1):

ui +1, j + ui , j +1 + ui 1, j + ui , j 1 4ui , j = 0

u3,1 + u2,2 + u1,1 + u2,0 4u2,1 = 0

Aplicando-se as condies de contorno u3,1 = u(2,2/3) = 8/9 e u2,0 = u(4/3,0) = 0, chega-se a:

8
u1,1 4u2,1 + u2,2 =
9

Para P12 (i = 1, j = 2):

ui +1, j + ui , j +1 + ui 1, j + ui , j 1 4ui , j = 0

u2,2 + u1,3 + u0,2 + u1,1 4u1,2 = 0

Aplicando-se as condies de contorno u1,3 = u(2/3,2) = 2/3 e u0,2 = u(0,4/3) = 0, chega-se a:

2
u1,1 4u1,2 + u2,2 =
3

Para P22 (i = 2, j = 2):

ui +1, j + ui , j +1 + ui 1, j + ui , j 1 4ui , j = 0

u3,2 + u2,3 + u1,2 + u2,1 4u2,2 = 0

Aplicando-se as condies de contorno u3,2 = u(2,4/3) = 8/9 e u2,3 = u(4/3,2) = 2/3, chega-se
a:

14
u2,1 + u1,2 4u2,2 =
9

Com as equaes acima forma-se o seguinte sistema de equaes lineares:

4 1 1 0 u11 0
1 4 0
1 u21 8 9
=
1 0 4 1 u12 2 3

0 1 1 4 u22 14 9

A soluo obtida :
48

u11 0,1944
u 0, 4167
21
=
u12 0, 3611
u22 0,5833

Usando agora uma discretizao com h = 1/2 obtm-se a seguinte malha:

Empregando-se o mesmo procedimento utilizado na malha anterior, obtm-se ao final o


seguinte sistema de equaes:

4 1 0 1 0 0 0 0 0 u11 0
1 4 1
0 1 0 0 0 0 u21 0
0 1 4 0 0 1 0 0 0 u31 3 4

1 0 0 4 1 0 1 0 0 u12 0
0 1
0 1 4 1 0 1 0 u22 = 0

0 0 1 0 1 4 0 0 1 u32 1

0 0 0 1 0 0 4 1 0 u13 1 2

0 0 0 0 1 0 1 4 1 u23 1
0 1 4 u33 5 4
0 0 0 0 0 1

A soluo do sistema :

u11 0,1094
u 0, 2277
21
u31 0, 3951

u12 0, 2098

u22 = 0, 4063
u 0, 6027
32
u13 0, 3237
u
23 0,5848
u33 0, 6094
49

5.3 Equaes diferenciais parciais parablicas

Um exemplo de equao diferencial parcial parablica encontrado na equao do calor


transiente unidimensional, expressa por:

u 2u
t
=k 2
x
( x [0, L]; t > 0 )
onde k uma constante representando, neste caso, o coeficiente de conduo de calor no
meio e u = f(x,t) a soluo da equao, a qual descreve a distribuio de temperatura em x
e ao longo do tempo t. A equao acima est sujeita s seguintes condies de contorno e
iniciais:

u (0, t ) = u0 ; u ( L, 0) = u L (t > 0)

u ( x, 0) = f ( x) 0 x L

onde u0 e uL so constantes representando, por exemplo, as temperaturas nas extremidades


de uma haste. A funo f(x) pode ser interpretada como a distribuio inicial de
temperatura. O problema de contorno tem soluo nica quando f(x) contnua no
intervalo [0, L].

A equao discretizada no espao empregando-se uma aproximao por diferenas finitas


centrais para o termo de 2 ordem, isto :

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

x 2 h2

onde h = L/m, sendo m (m > 0) um nmero inteiro que define a quantidade de subintervalos
na qual o intervalo de validade da equao [0, L] dividido.

Por outro lado, a discretizao no tempo pode ser feita, por exemplo, empregando-se uma
srie de Taylor truncada no termo de 1 ordem com expanso em t, ou seja:

u u ( x , t + t ) u ( x , t )

t t

onde t = T/n, sendo n o nmero de subintervalos no qual o intervalo de tempo [0,T]


dividido.

Adotando-se uma notao indicial, as aproximaes no espao e no tempo mostradas acima


adquirem a seguinte forma:

2u ui +1, j 2ui , j + ui 1, j

x 2 h2

u ui , j +1 ui , j

t t
50

A expresso final discretizada da equao fica:

ui , j +1 = ui +1, j + (1 2 )ui , j + ui 1, j

sendo = k.t/h2. Desta forma, possvel definir uma malha retangular consistindo de retas
verticais espaadas em h e retas horizontais espaadas em t, onde as interseces entre as
linhas definem os ns, como mostra a figura abaixo. As retas verticais e horizontais da malha
so dadas por:

xi = ih (i = 0,1, 2,..., m)
t j = j t ( j = 0,1, 2,..., n)

O mtodo usado acima classificado como explcito, pois a soluo u(x, t) sempre
estimada nos ns localizados na linha j + 1 do tempo a partir de valores nos ns localizados
na linha j, como mostra a figura abaixo. O erro de truncamento local da ordem de O(t +
h2).

Como em todos os mtodos explcitos, o passo de tempo deve ser escolhido obedecendo ao
critrio de estabilidade que define um valor mximo para t a fim de que o procedimento de
clculo no se torne instvel e impea o avano da soluo no tempo. O critrio de
estabilidade obtido atravs de uma anlise de estabilidade, como demonstrado logo
abaixo.

Considerando-se a natureza explcita do presente mtodo, possvel descrever o processo


de soluo no tempo atravs do seguinte sistema:

u ( j ) = Au ( j 1) ( j = 1, 2,..., n)
51

onde:

u ( j ) = ( u1, j , u2, j ,..., um 1, j )


T

(1 2 ) 0 0

(1 2 )
A= 0 0


0
0 (1 2 )
sendo A uma matriz tridiagonal de dimenses (m-1)x(m-1).

Supondo que haja um erro e(j) = (e1,0, e2,0, ..., em-1,0) na representao dos dados iniciais u(0),
um erro de A.e(0) se propaga para a aproximao u(1), j que:

u (1) = A ( u (0) + e (0) ) = A.u (0) + A.e (0)

Esse processo continua, at que no ensimo passo de tempo o erro em u(n) devido a e(0)
An.e(0). Consequentemente, observa-se que o mtodo ser estvel quando esses erros no
aumentam medida que n cresce. No entanto, isso ocorre se e somente se, para qualquer
erro inicial e(0), for verificado que:

A n .e (0) e (0)

para todo n. Isso significa que A n 1 , o que requer que o raio espectral de A seja (An) =
((A))n 1. Os autovalores da matriz A so dados por:
2
i
i = 1 4 sen (i = 1, 2,..., m 1)
2m

Portanto, a condio de estabilidade fica definida por:


2
i
( A ) = max 1 4 sen 1
1 i m 1
2m

a qual pode ser simplificada para:


2
i 1
0 sen (i = 1, 2,..., m 1)
2m 2

Quando h 0, ou seja, m , verifica-se que:


2
(m 1)
lim sen
m
= 1
2m
52

Assim, a estabilidade do processo ocorrer somente se 0 1/2. Uma vez que = k.t/h2,
considerando-se a discretizao espacial definida por h, a determinao do passo de tempo
crtico pode ser feita atravs da seguinte equao:

h2
t
2k

Exemplo: considerando o problema abaixo, determine a soluo para m = 5 e n = 50.

u 2u
= ( 0 x 1; 0 t 0,5 )
t x 2

u (0, t ) = 0; u (1, t ) = 0 (0 t 0, 5)

u ( x, 0) = sen( x) (0 x 1)

Como m = 5 e n = 50, obtm-se que h = 1/5 = 0,2 e t = 0,5/50 = 0,01. A constante fica
definida como = k.t/h2 = 0,25, sendo k = 1. Como < 0,5, o processo ser estvel.

As coordenadas dos ns da malha so determinadas usando-se as seguintes expresses:

xi = 0, 2.i (i = 0,1, 2, 3, 4,5)


t j = 0, 01.t ( j = 0,1, 2,...,50)

A forma discretizada da equao diferencial fica definida por:

ui , j +1 = ui +1, j + (1 2 )ui , j + ui 1, j

ui , j +1 = 0, 25 ( ui +1, j + 2ui , j + ui 1, j )

Para j = 0 e i = 1, 2, 3 e 4, obtm-se as seguintes equaes:

ui ,1 = 0, 25 ( ui +1,0 + 2ui ,0 + ui 1,0 )

Para i = 1 u1,1 = 0, 25 ( u2,0 + 2u1,0 + u0,0 )

Para i = 2 u2,1 = 0, 25 ( u3,0 + 2u2,0 + u1,0 )

Para i = 3 u3,1 = 0, 25 ( u4,0 + 2u3,0 + u2,0 )

Para i = 4 u4,1 = 0, 25 ( u5,0 + 2u4,0 + u3,0 )

Os valores ui,0 so obtidos a partir da condio inicial, ou seja:

ui ,0 = u ( xi , 0) = sen( xi ); xi = 0, 2.i (i = 0,1, 2, 3, 4,5)


53

Para i = 0 u0,0 = sen(0, 2. .i ) = sen(0) = 0

Para i = 1 u1,0 = sen(0, 2. .i ) = sen(0, 2. ) = 0, 587785252

Para i = 2 u2,0 = sen(0, 2. .i ) = sen(0, 4. ) = 0,951056516

Para i = 3 u3,0 = sen(0, 2. .i ) = sen(0, 6. ) = 0,951056516

Para i = 4 u4,0 = sen(0, 2. .i ) = sen(0,8. ) = 0, 587785252

Para i = 5 u5,0 = sen(0, 2. .i ) = sen( ) = 0

Assim, com os valores ui,0 determinados, calculam-se os ui,1 obtendo-se:

Para i = 1 u1,1 = 0, 25 ( 0,951056516 + 2.0,587785252 + 0 ) = 0,531656755

Para i = 2 u2,1 = 0, 25 ( 0,951056516 + 2.0,951056516 + 0,587785252 ) = 0,8602387

Para i = 3 u3,1 = 0, 25 ( 0,587785252 + 2.0,951056516 + 0,951056516 ) = 0,8602387

Para i = 4 u4,1 = 0, 25 ( 0 + 2.0,587785252 + 0,951056516 ) = 0,531656755

Para j = 1 e i = 1, 2, 3 e 4, obtm-se as seguintes equaes:

ui , j +1 = 0, 25 ( ui +1, j + 2ui , j + ui 1, j )

ui ,2 = 0, 25 ( ui +1,1 + 2ui ,1 + ui 1,1 )

Para i = 1 u1,2 = 0, 25 ( u2,1 + 2u1,1 + u0,1 )

Para i = 2 u2,2 = 0, 25 ( u3,1 + 2u2,1 + u1,1 )

Para i = 3 u3,2 = 0, 25 ( u4,1 + 2u3,1 + u2,1 )

Para i = 4 u4,2 = 0, 25 ( u5,1 + 2u4,1 + u3,1 )

Os valores ui,1 so agora determinados a partir dos resultados obtidos em t1 e pela imposio
das condies de contorno u0,1 = 0 e u5,1 = 0, ou seja:

Para i = 0 u0,1 = 0

Para i = 1 u1,1 = 0,531656755

Para i = 2 u2,1 = 0,8602387


54

Para i = 3 u3,1 = 0,8602387

Para i = 4 u4,1 = 0,531656755

Para i = 5 u5,1 = 0

Logo, obtm-se os valores ui,2 atravs de:

Para i = 1 u1,2 = 0, 25 ( 0,8602387 + 2.0,531656755 + 0 ) = 0, 480888053

Para i = 2 u2,2 = 0, 25 ( 0,8602387 + 2.0,8602387 + 0,531656755 ) = 0, 778093214

Para i = 3 u3,2 = 0, 25 ( 0,531656755 + 2.0,8602387 + 2.0,8602387 ) = 0, 778093214

Para i = 4 u4,1 = 0, 25 ( 0 + 2.0,531656755 + 0,8602387 ) = 0, 480888053

Para os demais passos de tempo procede-se da mesma forma, obtendo-se os resultados em


tj+1 a partir do resultados obtidos em tj. Na tabela abaixo so apresentadas algumas das
aproximaes obtidas ao longo do processo de marcha no tempo. A soluo exata dada
por u ( x, t ) = e t .sen( x) .
2

x1 = 0,2 x2 = 0,4 x3 = 0,6 x4 = 0,8


Tempo
Aproximao Exato Aproximao Exato Aproximao Exato Aproximao Exato
t0 = 0 0,5878 0,5878 0,9511 0,9511 0,9511 0,9511 0,5878 0,5878
t1 = 0,01 0,5317 0,5325 0,8602 0,8617 0,8602 0,8617 0,5317 0,5325
t2 = 0,02 0,4809 0,4825 0,7781 0,7807 0,7781 0,7807 0,4809 0,4825
: : : : : : : : :
t10 = 0,10 0,2154 0,2191 0,3486 0,3545 0,3486 0,3545 0,2154 0,2191
: : : : : : : : :
t30 = 0,30 0,0289 0,0304 0,0468 0,0492 0,0468 0,0492 0,0289 0,0304
: : : : : : : : :
t50 = 0,50 0,0039 0,0042 0,0063 0,0068 0,0063 0,0068 0,0039 0,0042

Mtodo de Crank-Nicholson

Mtodos implcitos tambm podem ser empregados na soluo de equaes diferenciais


parciais do tipo parablico. Neste caso, necessrio resolver um sistema de equaes para a
determinao dos valores aproximados de u em t = tj+1. A grande vantagem dos mtodos
implcitos est no fato de serem incondicionalmente estveis.

O mtodo de Crank-Nicholson consiste em substituir a derivada parcial espacial da equao


u 2u
= k 2 por uma mdia de dois quocientes de diferenas centrais calculados em t e em t
t x
+ t, resultando em:
55

1
u ( x, t + t ) u ( x, t ) =
t
k u ( x + h, t ) 2u ( x, t ) + u ( x h, t ) u ( x + h, t + t ) 2u ( x, t + t ) + u ( x h, t + t )
+
2 h2 h2

Considerando que = k.t/h2 e adotando-se a notao indicial para a expresso, obtm-se:

ui 1, j +1 + ui , j +1 ui +1, j +1 = ui +1, j ui , j + ui 1, j

onde = 2(1 + 1/) e = 2(1 1/), sendo i = 1, 2, ..., m 1 e j = 0, 1, 2, ..., n.

Para cada linha de tempo j, um sistema de equaes lineares com m 1 equaes e m 1


incgnitas ui,j+1 deve ser resolvido, considerando-se que as condies de contorno tornam os
valores ui,j+1 conhecidos em i = 0 e i = n. Por exemplo, para m = 4, obtm-se o seguinte
conjunto de equaes para a obteno de u em j + 1:

u0, j +1 + u1, j +1 u2, j +1 = u2, j u1, j + u0, j

u1, j +1 + u2, j +1 u3, j +1 = u3, j u2, j + u1, j

u2, j +1 + u3, j +1 u4, j +1 = u4, j u3, j + u2, j

A forma matricial geral para um conjunto de m 1 equaes pode ser representada atravs
de um sistema linear Au = b, onde:

1 0 0 0 0 0
1 1 0 0 0 0

0 1 1 0 0 0

0 0 1 1 0 0
A=


0
1

0 0 0 0 0 1

u1, j +1 b1 u2, j u1, j + u0, j + u0, j +1


u b u3, j u2, j + u1, j
2, j +1 2
u = u3, j +1 b = b3 = u4, j u3, j + u2, j


um 1, j +1 bm 1 um , j um 1, j + um 2, j + um , j +1

O erro local de truncamento do mtodo da ordem de O(t2 + h2).


56

Exemplo: aplique o mtodo de Crank-Nicholson para obter uma aproximao para o


problema abaixo, considerando m = 8 e n = 30:

u 1 2u
= ( 0 x 2; 0 t 0,3 )
t 4 x 2

u (0, t ) = 0; u (2, t ) = 0 (0 t 0, 3)

u ( x, 0) = sen( x) (0 x 2)

Para os dados fornecidos acima, possvel obter os seguintes parmetros:

20 0, 3 0
h= = 0, 25 t = = 0, 01
8 30
k t 0, 25.0, 01
= 2 = = 0, 04 = 2(1 + 1 ) = 52 = 2(1 1 ) = 48
h 0, 252

Utilizando-se o mtodo de Crank-Nicholson na equao diferencial acima (equao


hiperblica), obtm-se:

ui 1, j +1 + 52.ui , j +1 ui +1, j +1 = ui +1, j + 48.ui , j + ui 1, j

A forma matricial correspondente dada por Au = b, sendo:

1 0 0 0 0 0
1 1 52 1 0 0 0 0 0
0 0 0 0

1 52 1 0 0 0 0
0 1 1 0 0 0
0 1 52 1 0 0 0
0 0 1 1 0 0
A= = 0 0 1 52 1 0 0

0 0 0 1 52 1 0
0
0 0 0 0 1 52 1
1
0 0 0 0 0 1 52
0 0 0 0 0 1

u1, j +1 u2, j + 48u1, j + u0, j + u0, j +1


u
2, j +1 u2, j u1, j + u0, j + u0, j +1 u3, j + 48u2, j + u1, j
u3, j +1 u u + u u + 48u + u
3, j 2, j 1, j 4, j 3, j 2, j

u = u4, j +1 b= u4, j u3, j + u2, j = u5, j + 48u4, j + u3, j
u u + 48u + u
5, j +1 6, j 5, j 4, j

u6, j +1 um , j um 1, j + um 2, j + um , j +1 u7, j + 48u6, j + u5, j
u u + 48u + u
7, j +1 8, j 7, j 6, j

O processo iniciado aplicando-se as condies de contorno e as condies iniciais ao


sistema acima. Para j = 0 (t = 0), por exemplo, o vetor b adquire a seguinte forma:
57

u2,0 + 48u1,0 + u0,0 + u0,1 1 + 48.0, 7071 + 0 + 0 34,9408


u + 48u + u
3,0 2,0 1,0 0, 7071 + 48.1 + 0, 7071 49, 4142
u4,0 + 48u3,0 + u2,0 0 + 48.0, 7071 + 1 34,9408

b = u5,0 + 48u4,0 + u3,0 = 0, 7071 + 48.0 + 0, 7071 = 0
u + 48u + u 1 + 48.(0, 7071) + 0 34,9408
6,0 5,0 4,0

u7,0 + 48u6,0 + u5,0 0,7071 + 48.(1) + (0, 7071) 49, 4142
u + 48u + u
8,0 7,0 6,0 0 + 48.(0, 7071) 1 34,9408

Na tabela abaixo so apresentadas amostras de algumas aproximaes obtidas em


diferentes instantes de tempo para o presente problema.

Tempo x1 = 0,25 x2 = 0,50 x3 = 0,75 x4 = 1,00 x5 = 1,25 x6 = 1,50 x7 = 1,75


0,00 0,7071 1,0000 0,7071 0,0000 -0,7071 -1,0000 -0,7071
0,01 0,6907 0,9768 0,6907 0,0000 -0,6907 -0,9768 -0,6907
0,02 0,6747 0,9542 0,6747 0,0000 -0,6747 -0,9542 -0,6747
: : : : : : : :
0,10 0,5594 0,7911 0,5594 0,0000 -0,5594 -0,7911 -0,5594
: : : : : : : :
0,20 0,4425 0,6258 0,4425 0,0000 -0,4425 -0,6258 -0,4425
: : : : : : : :
0,30 0,3501 0,4951 0,3501 0,0000 -0,3501 -0,4951 -0,3501

5.4 Equaes diferenciais parciais hiperblicas

A equao de onda unidimensional um exemplo de equao de derivadas parciais do tipo


hiperblico, cujo problema pode ser colocado da seguinte forma:

2u 2 u
2
= c ( 0 x L; t 0)
t 2 x 2

u (0, t ) = 0; u ( L, t ) = 0 (t 0)

u
u ( x, 0) = f ( x); t = g ( x) (0 x L)
t =0

onde c uma constante. O problema tem soluo nica se as funes f(x) e g(x) tm
derivadas contnuas no intervalo de validade e satisfazem as condies de contorno.

Neste caso, a equao discretizada no espao e no tempo obtida utilizando-se diferenas


finitas centradas para aproximar as derivadas de 2 ordem da equao, ou seja:

2u u ( x + h, t ) 2u ( x, t ) + u ( x h, t ) ui +1, j 2ui , j + ui 1, j
=
x 2 h2 h2

2u u ( x, t + t ) 2u ( x, t ) + u ( x, t t ) ui , j +1 2ui , j + ui , j 1
=
t 2 t 2 t 2
58

Substituindo as aproximaes acima na equao de onda e considerando = c.t/h, obtm-


se:

ui , j +1 = 2ui +1, j + 2(1 2 )ui , j + 2ui 1, j ui , j 1

onde i = 1, 2, ..., m 1 e j = 1, 2, ..., n 1. O esquema acima produz um mtodo de soluo


do tipo explcito de diferenas finitas. Uma malha retangular de pontos definida por xi = i.h e
tj = j.t empregada para aproximar a soluo u(x, t) da equao diferencial sobre uma
regio 0 x L e 0 t T, onde h = L/m e t = T/n.

Como mostra a figura a seguir, a equao diferencial discretizada em diferenas finitas


permite obter-se a aproximao ui,j+1 na linha de tempo j + 1 a partir de valores definidos nas
linhas j e j 1, juntamente com a aplicao das condies iniciais e de contorno:

ui ,0 = u ( xi , 0) = f ( xi )

u0, j = u (0, j.t ) = 0; un , j = u ( L, j.t ) = 0

Entretanto, observa-se que para j = 1 necessrio conhecer os valores ui,1, isto , as


estimativas de u para a primeira linha de tempo, a fim de obter-se os valores ui,2. Para j = 0,
verifica-se tambm que os valores ui,1 na primeira linha dependem dos valores ui,0 e ui,-1.
Para calcular estes ltimos valores, utiliza-se a condio de velocidade inicial ut(x,0) = g(x).
Assim, em t = 0 tem-se que:

u ( xi , t ) u ( xi , t )
g ( xi ) = ut ( xi , 0)
2 t

Da expresso acima, decorre que:

u ( xi , t ) u ( xi , t ) 2t.g ( xi )

Este resultado sugere que:

ui ,1 = ui ,1 2t.g ( xi )

Desta forma, para j = 0, obtm-se:

2
ui ,1 = (ui +1,0 + ui 1,0 ) + (1 2 )ui ,0 + t.g ( xi )
2
59

Exemplo: obtenha a soluo aproximada para o problema abaixo usando m = 5 e n = 20.

2u 2u
= 4 ( 0 x 1; 0 t 1)
t 2 x 2

u (0, t ) = 0; u (1, t ) = 0 (0 t 1)

u
u ( x, 0) = sen( x); t =0 (0 x 1)
t =0

A partir dos dados fornecidos possvel definir os seguintes parmetros:

1 0 1, 0 0
h= = 0, 20 t = = 0, 05
5 20
c.t 2.0, 05
= = = 0,5
h 0, 20

Considerando que g(x) = 0, obtm-se a seguinte frmula de inicializao:

2
ui ,1 = (ui +1,0 + ui 1,0 ) + (1 2 )ui ,0 + t.g ( xi )
2

ui ,1 = 0,125(ui +1,0 + ui 1,0 ) + 0, 75ui ,0

Para i = 1, 2, 3, 4 e usando a condio inicial u(x,0) = ui,0 = sen(xi), tem-se:

i = 1 u1,1 = 0,125(u2,0 + u0,0 ) + 0, 75u1,0 = 0,55972100

i = 2 u2,1 = 0,125(u3,0 + u1,0 ) + 0, 75u2,0 = 0,90564761

i = 3 u3,1 = 0,125(u4,0 + u2,0 ) + 0, 75u3,0 = 0, 90564761

i = 4 u4,1 = 0,125(u5,0 + u3,0 ) + 0, 75u4,0 = 0, 55972100

Assim, para j = 1, obtm-se:

ui , j +1 = 2ui +1, j + 2(1 2 )ui , j + 2ui 1, j ui , j 1

ui ,2 = 0, 25ui +1,1 + 1, 5ui ,1 + 0, 25ui 1,1 ui ,0

i = 1 u1,2 = 0, 25u2,1 + 1,5u1,1 + 0, 25u0,1 u1,0

i = 2 u2,2 = 0, 25u3,1 + 1,5u2,1 + 0, 25u1,1 u2,0

i = 3 u3,2 = 0, 25u4,1 + 1,5u3,1 + 0, 25u2,1 u3,0

i = 4 u4,2 = 0, 25u5,1 + 1,5u4,1 + 0, 25u3,1 u4,0


60

Aplicando as condies de contorno e iniciais sobre as equaes acima, alm de considerar


os valores obtidos para ui,1, chega-se aos valores aproximados para a soluo do problema
na segunda linha de tempo. Na tabela abaixo so mostrados os resultados obtidos.

Tempo x1 = 0,20 x2 = 0,40 x3 = 0,60 x4 = 0,80


t0 = 0,00 0,5878 0,9511 0,9511 0,5878
t1 = 0,05 0,5597 0,9056 0,9056 0,5597
t2 = 0,10 0,4782 0,7738 0,7738 0,4782
: : : : :
t5 = 0,25 0,0115 0,0185 0,0185 0,0115
: : : : :
t10 = 0,50 -0,5873 -0,9503 -0,9503 -0,5873
: : : : :
t15 = 0,75 -0,0344 -0,0556 -0,0556 -0,0344
: : : : :
t20 = 1,00 0,5860 0,9482 0,9482 0,5860

Considerando que a soluo exata para o presente problema dada por u(x,t) =
sen(x).cos(2t), uma comparao entre valores exatos e valores aproximados mostrada
na tabela abaixo.

Valor exato Aproximao


u(0,4; 0,25) = 0 u2,5 = 0,0185
u(0,6; 0,3) = -0,2939 u3,6 = -0,2727
u(0,2; 0,5) = -0,5878 u1,10 = -0,5873
u(0,8; 0,7) = -0,1816 u4,14 = -0,2119

Observa-se que as aproximaes no apresentam um bom nvel de preciso. Para a


obteno de resultados mais exatos ser necessrio escolher um valor mais apropriado para
o parmetro , o qual definido pelo tamanho dos passos h e t. Pode-se demonstrar que o
presente mtodo estvel para 1, sendo que o melhor nvel de preciso obtido
quando = 1. Isto significa dizer que t = h/c. Para o presente problema, obtm-se a
condio = 1, por exemplo, com m = 8 e n = 16. A tabela abaixo indica a melhora da
preciso neste caso.

Valor exato Aproximao


u(0,25; 0,3125) = -0,2706 u2,5 = -0,2706
u(0,375; 0,375) = -0,6533 u3,6 = -0,6533
u(0,125; 0,625) = -0,2706 u1,10 = -0,2706

importante lembrar que um processo contnuo de reduo dos valores h e t no significa


melhora na preciso dos resultados, pois a partir de certos valores o ganho de preciso
anulado pelo aumento do erro de arredondamento resultante de limitaes de mquina. A
ordem de preciso do presente mtodo O(h2 + t2).

You might also like