Você está na página 1de 12

8 Solução Numérica de Equações Diferenciais Ordinárias

8.1 Introdução
A equação diferencial é definida como uma equação que envolve uma função e
algumas de suas derivadas, da forma:
y ( n ) ( x )  f [ x, y ' ( x ), y ' ' ( x ),......., y ( n 1) ( x )]
Na engenharia a utilização de equações diferenciais tem como objetivo
descrever o comportamento dinâmico de sistemas físicos. Uma equação diferencial pode
descrever o comportamento dinâmico do circuito mostrado na figura:

R L

S
C

V(t)=sin(3,5t) i(t)

Ao fechar-se a chave S, pode-se analisar o comportamento dinâmico do circuito a partir da


Lei de Kirchoff para tensões:
di (t ) 1
V (t )  Ri (t )  L   i (t )dt
dt C
Derivando a equação:
dV (t ) di (t ) d 2 i (t ) 1
R L  i (t )
dt dt dt 2 C
Substituindo a expressão da tensão e rearranjando a equação, tem-se:
d 2 i (t ) di (t ) 1 1
L 2
R  i (t )  cos(3,5t )
dt dt C 3,5

8.2 Tipos de Equações Diferenciais

8.2.1 Equações Diferenciais Ordinárias

São equações diferenciais que possuem apenas uma variável independente.


Exemplos:

dy
 x y y é função de x; x é a única variável independente.
dx

1
dy
 x2  y2 y e x são função de t; t é a única variável independente.
dt

d2y dy
2
 (1  y 2 ) y0 y é função de t; t é a única variável independente.
dt dt

8.2.2 Equações Diferenciais Parciais

Quando a equação diferencial envolve mais de uma variável independente.

Exemplo:

 2u  2u
 0 u é função de x e y; x e y são variáveis independentes.
x 2 y 2

8.3 Solução de Equações Diferenciais

Determinadas equações diferenciais podem ser solucionadas de forma


simbólica, cuja solução é uma expressão literal. Isto nem sempre é possível. Neste caso, a
solução é a utilização de integração numérica, como será visto na sequência.

Exemplo 8.1:

dy dy dy
y  y
 dx   y
  dx  ln( y )  c1  x  c 2
dx

y ( x )  e x  c  ae x

Observe que a solução da equação diferencial resulta numa família de curvas


que dependem da constante a, como pode ser visto na figura abaixo. Uma solução
particular pode ser obtida a partir das condições iniciais do problema. A especificação de
uma condição inicial
45 define uma solução entre a família de curvas.
y (x)
40

35

30

25

20

15

10

5
2
x
0
-1 -0.5 0 0.5 1 1.5 2
Suponha no exemplo dado que o problema tem como solução inicial y (0)  1 . Portanto:

y ( x)  ae x  ae 0  1  a  1
A solução y ( x)  1 e x é a solução para a condição inicial dada.

Quando as condições iniciais estão associadas a um único valor da variável


independente, define-se como um problema de valor inicial – (PVI). Quando as condições
iniciais estão associadas mais de um valor da variável independente, define-se como um
problema de valor de contorno – (PVC). Normalmente, problemas tendo como variável
independente o tempo, são problemas de valor inicial.

8.4 Ordem de uma Equação Diferencial Ordinária

A ordem da equação é determinada pela derivada de maior ordem. Seja o


exemplo de uma equação diferencial ordinária de ordem n:

y ( n ) ( x )  f [ x, y ' ( x ), y ' ' ( x ),......., y ( n 1) ( x )]

8.5 Redução de Equações Diferenciais Ordinárias

Uma equação ordinária de ordem superior pode ser reduzido a um sistema de


equações diferenciais de primeira ordem. A redução é feita a partir da definição de
variáveis auxiliares.
Seja a equação diferencial de ordem m com também m condições iniciais:

y ( m ) ( x)  f [ x, y ( x), y ' ( x), y ' ' ( x),......., y ( m 1) ( x)]

3
y ( x 0 )  c1
y ' ( x0 )  c 2

y ( m 1) ( x 0 )  c m

Esta equação pode ser transformada em um sistema de equações diferenciais


com m equações, como descreve-se abaixo:
z1 ( x)  y ( x)
' '
z1 ( x)  y ( x)  z
' "
z 2 ( x)  y ( x)  z
' ' ''
z 3 ( x)  y ( x) 

' ( m 1)
z m 1 ( x)  y (
' ( m )
z m ( x)  y ( x)

Tem-se portanto um sistema com m equações diferenciais de primeira ordem:


 '
z1 ( x)  y '
( x)  z 2 ( x )  f 1 ( x, z1 , z 2 ,..., z m )
 '
 z2 ( x)  y " ( x)  z 3 ( x )  f 2 ( x, z 1 , z 2 ,..., z m )
 '
 z3 ( x )  y ''' ( x )  z 4 ( x )  f 3 ( x , z1 , z 2 ,..., z m )

 
 ' ( m 1)
 zm 1 ( x )  y ( x)  z m ( x)  f m 1 ( x, z1 , z 2 ,..., z m )
 '
zm ( x)  y ( m ) ( x)  f [ x, y ' ( x ), y ' ' ( x ),......., y ( m 1)
( x )]  f ( x, z 1 , z 2 ,..., z m )
 m

Com as condições iniciais dadas por:


z1 ( x 0 )  y
z 2 ( x 0 )  y
z 3 ( x 0 )  y
z 4 ( x 0 )  y

z m ( x 0 )  y

Este artifício deve sempre ser utilizado quando da solução de equações


diferenciais por métodos numéricos, pois só pode-se integrar numericamente equações de
primeira ordem. Observe que o sistema de equações modela o comportamento dinâmico do
problema.

Exemplo 8.2: Reduzir as Equações Diferenciais Ordinárias (EDO’s) a sistemas de EDO’s


de primeira ordem.

a) y '' ( x)  3 y ' ( x )  2 y ( x ) , y (0)  1 e y ' (0)  0

z1 ( x )  y ( x )
z1' ( x )  y ' ( x )  z 2 ( x )
'
z2 ( x )  y " ( x )  3 y ' ( x )  2 y  3 z 2  2 z1
Resultando no sistema:

 z1' ( x )  z 2 ( x )  f 1 ( x, z1 , z 2 )


 z2'
( x )  3 z 2  2 z 1  f 2 ( x, z 1 , z 2 )
z1 (0)  1 z 2 ( 0)  0

4
b) y '''  ( x  1) y ''  cos( x) y '  ( x 2  1) y  x 2  y 2 sin( x  y )
y (0)  1,1 y ' (0)  2,2 y '' (0)  3,3

Reescrevendo a equação, tem-se:


y '''  ( x  1) y ''  cos( x) y '  ( x 2  1) y  x 2  y 2 sin( x  y )

z1  y
' '
z1  y  z 2
' "
z 2  y  z3
' ' ''
z3 ( x)  y ( x)   ( x  1) z 3  cos(

Resultando no sistema:
 z1'  y '  z 2  f 1 ( x, z1 , z 2 , z 3 )
 ' "
 z 2  y  z 3  f 2 ( x, z1 , z 2 , z 3 )
 ' 2
z
 3 ( x )  y ''' ( x)  ( x  1) z 3  cos( x) z 2  ( x 2  1) z1  x 2  z1 sin( x  z1 )  f 3 ( x, z1 , z 2 , z 3 )
z1 (0)  1,1 z 2 (0)  2,2 z 3 (0)  3,3

8.6 Solução Numérica de Equações Diferenciais Ordinárias – Problema


de Valor Inicial

Considere a equação diferencial ordinária:

y '  f ( x, y ) com condição inicial y ( x 0 )  y 0

A solução da equação diferencial acima é uma função do tipo y (x ) , conforme


ilustrada abaixo:

y (x)

y(xn)
X
y(x3)
y(x2)
y(x1) X
y(x0) X
X
X

x0 x1 x2 x3 .... xn

5
Com a solução numérica de uma equação diferencial, obtém-se uma
aproximação para os valores y ( x 0 ), y ( x1 ), y ( x 2 ), y ( x 3 ),......, y ( x n ) , ou seja:
x x1 x2 x3 ......... xn
y y1 y2 y3 ......... yn

Considera-se que a notação y ( x j ), j  1,2,..., n indica a solução exata da


EDO nos pontos x1 , x 2 , x 3 ,..., x n , e y j , j  1,2,...., n indica a solução aproximada
obtida por método numérico.

Na solução numérica não se determina a expressão literal da função y (x ) , mas


aproximações para pontos da função y (x ) . Com os valores aproximados obtidos, pode-se
plotar a curva. Em aplicações da engenharia, normalmente estuda-se o comportamento
dinâmico de determinadas variáveis, portanto necessita-se a evolução das variáveis em
função da variável independente. Com a curva plotada, pode-se estudar esta evolução.

8.6.1 Método de Euler

Seja a solução de uma equação diferencial do tipo:

dy
 f ( x, y ) com valor inicial y ( x 0 )  y 0
dx
A solução desta equação resulta numa função y (x ) , como mostrado no gráfico:

y(x) y (x )

y ( x1 )

Reta Tangente no ponto x 0


y0
y1

x0 x1 x
h  x1  x 0
h  x1  x 0

6
A partir da equação diferencial, pode-se observar que a derivada da função
y (x ) em um ponto qualquer x é dada por f(x,y). Conhecendo-se a derivada da função
y (x ) no ponto x 0 , ou seja [ f ( x 0 , y 0 ) ] , pode-se estimar o valor da função y (x ) no
ponto x1 por meio de relações trigonométricas:


y  y1  y 0

h  x1  x 0
h  x1  x 0
y1  y 0 y1  y 0
tg ( )  f ( x 0 , y 0 )   f ( x0 , y 0 )   y1  y 0  hf ( x 0 , y 0 )
x1  x 0 h

Esta relação pode ser generalizada para um ponto i qualquer, resultando na forma de
recorrência para solução de equações diferenciais pelo Método de Euler:
y i  y i 1  hf ( x i 1 , y i 1 )

Exemplo 8.3: Achar aproximações para a solução o problema de valor inicial, na malha
[0,1] e h=0,1, dado por:
y '  x  y  2 para y (0)  2

A solução desta equação resulta em uma função y (x ) , como mostrada na


figura abaixo.

3
y (x)

2.5

1.5

0.5

x
0
0 0.2 0.4 0.6 0.8 1

7
Resolvendo esta equação através do Método de Euler, iremos determinar
aproximações para pontos de y (x ) .
x0  0 y0  2

y1  y 0  f ( x 0 , y 0 )h  2  0,1 (0  2  2)  2

x1  x 0  h  0  0,1  0,1 y1  2

y 2  y1  f ( x1 , y1 ) h  2  0,1 (0,1  2  2)  2,01

x 2  x1  h  0,1  0,1  0,2 y 2  2,01

y 3  y 2  f ( x 2 , y 2 )h  2,01  0,1  (0,2  2,01  2)  2,029

x 3  x 2  h  0,2  0,1  0,3 y 3  2,029

y 4  y 3  f ( x 3 , y 3 )h  2,029  0,1  (0,3  2,029  2)  2,0561

x 4  x 3  h  0,3  0,1  0,4 y 4  2,0561


y 5  y 4  f ( x 4 , y 4 )h  2,0561  0,1  (0,4  2,0561  2)  2,09049

x 5  x 4  h  0,4  0,1  0,5 y 4  2,09049

8
y 6  y 5  f ( x 5 , y 5 )h  2,09049  0,1  (0,5  2,09049  2)  2,131441

x 6  x5  h  0,5  0,1  0,6 y 4  2,131441

y 7  y 6  f ( x 6 , y 6 )h  2,131441  0,1  (0,6  2,131441  2)  2,1782969

x 7  x 6  h  0,6  0,1  0,7 y 4  2,1782969

y8  y7  f ( x7 , y7 )h  2,1782969  0,1  (0,7  2,1782969  2)  2,2304672

x8  x 7  h  0,7  0,1  0,8 y 4  2,2304672

y 9  y 8  f ( x 8 , y 8 )h  2,2304672  0,1  (0,8  2,2304672  2)  2,2874205

x9  x8  h  0,8  0,1  0,9 y 4  2,2874205

y10  y 9  f ( x 9 , y 9 )h  2,2874205  0,1 (0,9  2,2874205  2)  2,3486784

x10  x 9  h  0,9  0,1  1,0 y 4  2,3486784

Na figura abaixo está plotada a solução numérica e a solução exata, observe que
para efeitos práticos podemos observar o comportamento dinâmico da variável, que é o quê
normalmente interessa em aplicações da engenharia.

3
solução numérica
solução exata
2.5

1.5

0.5

0
0 0.2 0.4 0.6 0.8 1

9
Na tabela abaixo, mostra-se os valores calculados comparados aos valores
exatos:

j xj yj y( x j ) y j  y( x j )
0 0 2,0000000 2,0000000 0,000000
1 0,1 2,0000000 2,0048370 -0,004837
2 0,2 2,0100000 2,0187310 -0,008731
3 0,3 2,0290000 2,0408180 -0,011818
4 0,4 2,0561000 2,0703200 -0,014220
5 0,5 2,0904900 2,1065310 -0,016041
6 0,6 2,1314410 2,1488120 -0,-17371
7 0,7 2,1782969 2,1965850 -0,018288
8 0,8 2,2304672 2,2493290 -0,018862
9 0,9 2,2874205 2,3065700 -0,019149
10 1,0 2,3486784 2,3678790 -0,019201

Análise do Erro para o Método de Euler na Solução Numérica do Problema de


Valor Inicial

Os erros cometidos são de duas naturezas:

a) Erros de truncamentos causados pelo tipo de técnica empregada para a


atualização do valor de y;
b) Erros de arredondamentos causados pela aritmética de precisão finita
utilizadas pelos computadores digitais e pelo modo de se programar.

Os erros de truncamento podem ser separados em duas partes:

a) Erro de truncamento local: erro cometido num ponto genérico x k 1 ,


determinado pela diferença do valor aproximado y k 1 e o valor no ponto
x k 1 da solução da equação diferencial que passa em y k 1 ;
b) Erro de truncamento acumulado: erros cometidos pelas aproximações
produzidas nos passos anteriores. É determinado pela diferença entre o
valor aproximado y k 1 com o valor exato y ( x k 1 ) .

10
Erro
Acum. y3 Erro Local
Erro Local Solução da
EDO em y 2
Erro Acumulado
= Erro Local y2
Solução da
y1 EDO em y1

y( x0 )

Solução y(x)
y( x 2 ) do PVI
y( x3 ) Sol. da EDO
y ( x1 ) em
Erro Acum.

x0 x1 x2 x3
x

O erro de truncamento local é determinado pela expressão:

h2 '' x j 1    x j
ET  y ( )
2!

O valor de  é desconhecido, entretanto, pode-se definir um majorante para


o erro de truncamento local.

Se y (x ) possui derivada contínua num intervalo fechado [ x n , x n 1 ] , que


contém os pontos sobre os quais está sendo feita a discretização, então existe:
M k 1  max y ( k 1) ( x ) x  [ x n , x n 1 ]
Assim:
y ( 2 ) ( )  M 2   [ x n , x n 1 ]

M 2h2
ET ( x k 1 ) 
2!

11
Observe que o erro de truncamento local é proporcional ao passo de integração ao
quadrado. O erro acumulado também pode ser limitado por um majorante:

Suponha que y (x ) represente solução única do problema de valor inicial:


y '  f ( x, y ) a xb y (a)  

e y1 , y 2 ,......., y n sejam as aproximações geradas pelo Método de Euler. Se f(x,y) for


contínua para todo x no intervalo [a,b] e todo y no intervalo ( , ) e ainda existem as
constantes L e C, tais que:
f ( x, y ( x ))
L e y ' ' ( x)  C
x

então para cada i  1,2,......n :


y( xi )  y i 
2L
e 
hC L ( xi a )
1 
Pode-se observar que para a determinação dos erros de truncamento local e acumulado,
necessita-se do valor maxímo da segunda derivada de y(x), o que restringe sua utilização na
prática. Também é importante observar-se que o erro tende a zero quando h tende a zero.

Tarefa 8.1: Seja o problema do Exemplo 8.3:


y '  x  y  2 para y (0)  2
A solução desta equação diferencial é dada por:
y ( x)  e  x  x  1
Determine o limite do erro acumulado nos pontos da malha [0,1], com h  0,1 , quando da
solução da equação diferencial pelo Método de Euler, e compare com o erro real calculado
no Exemplo 8.3.

12

Você também pode gostar