Anda di halaman 1dari 9

Capítulo 7: Equações Diferenciais Ordinárias

1. Problema de valor inicial


Definição: Seja y uma função de x e n um número inteiro positivo, então uma relação
de igualdade que envolva x, y, y’, y’’,...,y(n) é chamada uma equação diferencial ordinária.

Exemplos
Equação Diferencial Ordem
y’=2x 1
3
d2y ⎛ dy ⎞ 2
+ x 2 ⎜ ⎟ − 15 y = 0
⎝ dx ⎠
2
dx
(y’’’)4-x2(y’’)5+4xy=xex 3
3
dy ⎛ d y ⎞
4 4
x3 =⎜ ⎟ −1
dx ⎜⎝ dx 4 ⎟⎠

Uma função f é solução de uma equação diferencial se a substituição de y por f resulta


em uma identidade para todo x em algum intervalo.
Por exemplo, a equação diferencial y’=6x2-5
tem solução
f(x)=2x3-5x+C
para todo o real C, pois a substituição de y por f conduz à identidade
6x2-5=6x2-5
Denominamos
f(x)=2x3-5x+C
a solução geral de
y’=6x2-5,
pois toda a solução da equação é desta forma. Obtém-se uma solução particular
atribuindo a C valores específicos. Para ilustrar, se C =0, temos a solução particular
f(x)=2x3-5x
Às vezes, impõem-se condições iniciais que determinam uma solução particular.
1
Associados a y(n)=f(x, y’, y’’,...,y(n-1)), podem existir condições cujo número coincide
com a ordem da equação diferencial ordinária. Se tais condições se referem a um único x,
tem-se um problema de valor inicial ⎯ PVI. Caso, contrário tem-se um problema de
fronteira. Por exemplo,
⎧ y ' ' = 3 y '−2 y

⎨ y (0) = −1
⎪ y ' (0) = 0

é um PVI de segunda ordem.
Pretende-se valores de y(x) em pontos distintos daqueles das condições iniciais
associadas aos PVI. Vai se estudar PVI de primeira ordem, i.e.,
⎧ y ' = f ( x, y )
⎨ , ηum número dado. (7.1)
⎩ y ( x0 ) = y 0 = η
Os PVI de ordem superior a um podem ser reduzidos a sistemas de PVI de primeira
ordem à custa de variáveis auxiliares.

Exemplo
Considere-se o seguinte PVI de ordem dois
⎧ y ' ' = 3 y '−2 y

⎨ y (0) = −1
⎪ y ' (0) = 0

Seja z=y’ então y’’=z’ e z(0)=y’(0)=0. Ou seja obteve-se o seguinte sistema de PVI de
ordem um:
⎧ z ' = 3z − 2 y
⎪ y' = z


⎪ y (0) = −1
⎪⎩ z (0) = 0

Um PVI tem solução única se f é uma função real e satisfaz a:


i) é definida e contínua na faixa a≤x≤b, -∞<y<∞, com a e b finitos;
2
ii) existe uma constante L tal que para qualquer x pertencente ao intervalo [a, b], e
todo o par de números y e y*

f ( x, y ) − f ( x, y * ) ≤ L y − y * ,

a condição anterior designa-se por condição de Lipschitz.


Se f satisfaz as condições anteriores então existe exactamente uma função y(x) que
satisfaz:
i) y(x) é contínua e diferenciável em [a,b],
ii) y’(x)=f(x, y(x)), x∈[a, b],
iii) y(a)=η, com η um número dado.

2. Solução numérica de um PVI de primeira ordem: Métodos de passo


simples
Suponhamos que o PVI (7.1) satisfaz as condições de existência e unicidade de solução,
vai tentar-se encontrar uma solução numérica para o problema.
b−a
Considere-se m subintervalos de [a, b], (m≥1), e seja xj=x0+jh onde h = , j=0,...,m e
m
xj∈[a,b]. Ao conjunto Ih={x0,x1,...,xm}obtido da forma anterior chama-se rede ou malha de
[a,b].
A solução numérica ym(x) é a função linear por partes, cujo gráfico é uma poligonal com
vértices nos pontos (xj,yj), onde yj foi calculado usando algum dos métodos numéricos que
serão vistos a seguir.
b−a
Se m=2n, então hm = , n=0,1,..., e a sucessão de funções poligonais {yn(x)}
2n
converge uniformemente para a solução y(x) do PVI.
O objectivo dos métodos numéricos é o cálculo dos vértices {y0,y1,...,ym}.

3
Notação:
y(xj), j=0,...,m ⎯ solução exacta do PVI nos pontos xj∈Ih
y(xj)≅yj ⎯ significa que yj é aproximação para y(xj), xj∈Ih.

2.1. Métodos da série de Taylor: Método de Euler


Considere-se o PVI
⎧ y ' = f ( x, y )
⎨ , η um número dado.
⎩ y ( x0 ) = y 0 = η

Desejam-se aproximações y1, y2,...,ym para as soluções exactas y(x1), y(x2),..., y(xm).
Comecemos por determinar a aproximação y1 para y(x1).
Seja T a tangente à curva y(x) no ponto (x0, y(x0)), a equação de T é:
y(x)- y(x0)=(x-x0)y’(x0).
Fazendo x=x1 e notando que
y(x0)=y0 ⎯ condição inicial
x1-x0=h
y’(x0)=f(x0,y(x0))
y1≅y(x1)
tem-se que
y(x1)-y(x0)=(x1-x0)y’(x0) ⇔ y1-y0=hf(x0,y(x0)) ⇔ y1=y0+hf(x0,y(x0)).
O erro cometido na aproximação de y(x1) por y1 é: e1=y1-y(x1), ou seja, a diferença entre
a solução numérica e a solução exacta. y2 obtém-se de modo análogo ao de y1, tendo-se
que:
y2=y1+hf(x1,y(x1))
e2=y2-y(x2)
Genericamente,
yj+1=yj+hf(xj,y(xj)), j=0,1,...,m-1
cujo erro é ej+1=yj+1-y(xj+1), j=0,1,...,m-1

4
O método de Euler consiste, então, em calcular recursivamente a sucessão {yj} através
das fórmulas:
⎧ y0 = y (a) = η

⎩ y j +1 = y j + hf ( x j , y j ), j = 0,..., m − 1

Interpretação analítica do método de Euler

Expandindo a solução y(x) em série de Taylor em torno do ponto xj,


1 2 1
y ( x j + h) = y ( x j ) + hf ( x j , y ( x j )) + h y ' ' ( x j ) + ... + h n y ( n) ( x j )
2! n!
Truncando a série após o termo em h e identificando y(xj) com yj obtém-se a igualdade
pretendida, ou seja, o método de Euler.

Exemplo
Achar aproximações para a solução do PVI
⎧ y' = x − y + 2

⎩ y ( 0) = 2
na malha [0,1] com h=0.2.
Tem-se que x0=0 e y0=2.

1º iteração y1=y0+hf(x0,y0) ⇔ y1=2+0.2f(0, 2) ⇔ y1=2; x1=0+0.2=0.2


2º iteração y2=y1+hf(x1,y1) ⇔ y2=2+0.2f(0.2, 2) ⇔ y2=2.04; x2=0.2+0.2=0.4
3º iteração y3=y2+hf(x2,y2) ⇔ y3=2.04+0.2f(0.4, 2.04) ⇔ y3=2.112; x3=0.4+0.2=0.6
4º iteração y4=y3+hf(x3,y3) ⇔ y4=2.112+0.2f(0.6, 2.112) ⇔ y4=2.2096; x4=0.6+0.2=0.8
5º iteração y5=y4+hf(x4,y4) ⇔ y5=2.2096+0.2f(0.8, 2.2096) ⇔ y5=2.32768; x5=0.8+0.2=1

As soluções aproximadas na malha [0, 1] são: {2, 2.04, 2.112, 2.2096, 2.32768}.

5
Métodos de Passo Simples

Um método para resolver um PVI é de passo simples se a aproximação yj+1 depende


apenas dos resultados de yj da etapa anterior. Todos os métodos de passo simples são
escritos na forma:
(7.2) yj+1=yj+hΦ(xj,yj,h ), j=0,1,...,m-1,
onde Φ é a função incremento e h o comprimento do passo. O método de Euler é um
exemplo de um método de passo simples com função incremento Φ(xj,yj,h )=f(xj, yj).
Diz-se que um método da forma (7.2) possui ordem r se r for o maior número inteiro
para o qual
y(x+h)-y(x)-hΦ(x, y(x), h)=o(hr+1),
onde y(x) é a solução teórica do PVI.
O método de Euler é de ordem um.

Métodos com derivadas

O método de Euler ou método de Taylor de 1ª ordem, foi obtido a partir da fórmula de


Taylor, onde se tomaram termos até ao termo em h. Teoricamente, pode-se afirmar que a
fórmula de Taylor fornece tantos métodos quantos se queiram, desde que se calculem as
derivadas necessárias. O método de Taylor de 2ª ordem é,
h
y j +1 = y j + hy ' ( x j ) + y ' ' ( x j ) , j=0,..,m-1
2!

Os métodos que usam a fórmula de Taylor apresentam alguns inconvenientes


computacionais: deve-se operar simultaneamente com várias funções, i.e., as derivadas da
função f, o que aumenta em muito o espaço ocupado na memória do computador. Além
disso, a complexidade das expressões analíticas para as derivadas de f aumenta com a
ordem de derivação de f, salvo casos triviais. Em geral, estes métodos não são usados.
6
Essa é a razão por que serão obtidos, a seguir, métodos de precisão equivalente aos
métodos da fórmula de Taylor, porém sem o inconveniente de se calcularem derivadas;
são os chamados métodos de Runge-Kutta ⎯ RK.

2.2. Métodos de Runge-Kutta

2.2.1. Métodos de Runge-Kutta de segunda ordem

As fórmulas têm a forma geral

[
⎧ y j +1 = y j + h af ( x j , y j ) + bf ( x j + αh, y j + β hf ( x j , y j )) ]
⎨ j=0,...,m-1
⎩ y 0 = y ( x0 )

sendo as constantes a,b,α e β escolhidas de modo que o erro de truncatura local do método
seja proporcional a h3 tal como o método de Taylor de 2ª ordem.

⎧a = 1 − b
Tal condição implica ⎪⎨ 1 , sendo b arbitrário.
⎪⎩α = β = 2b

Apresentaremos aqui os dois métodos mais conhecidos de Runge-Kutta de 2ª ordem.

1 1
O método de Euler melhorado corresponde à escolha b = ,e tem-se a = , α = β = 1 :
2 2

⎧ h
⎪ y j +1 = y j + 2 (k1 + k 2 )

⎪ y 0 = y ( x0 )


⎪k = f ( x , y ) j = 0,..., m - 1
⎪ 1 j j
⎪k 2 = f ( x j + h, y j + hk1 )
⎪⎩

7
1
O método de Euler modificado corresponde à escolha b = 1 ,e tem-se a = 0 , α = β = :
2


⎪ y j +1 = y j + hk 2

⎪ y 0 = y ( x0 )


⎪k = f ( x , y ) j = 0,..., m - 1
⎪ 1 j j
⎪ h h
⎪k 2 = f ( x j + , y j + k1 )
⎩ 2 2

Exemplo:
⎧ y' = x − y + 2
Achar aproximações para o PVI ⎨
⎩ y (0) = 2
na malha [0,1] com h=0.2, usando o método de Euler melhorado.
Tem-se que x0=0 e y0=2.

h
1º iteração: y1 = y 0 + (k1 + k 2 ) . Tem-se que k1= f(x0, y0)=f(0,2)=0
2

k2=f(x0+h, y0+hk1) ⇔ k2=f(0.2, 2+0.2*0) ⇔ k2=0.2


Donde y1=2+0.1(0+0.2)=2.02; x1=0+0.2=0.2

h
2º iteração: y 2 = y1 + (k1 + k 2 ) . Tem-se que k1= f(x1, y1)=f(0.2,2.02)=0.18
2

k2=f(x1+h, y1+h k1) ⇔k2=f(0.4, 2.02+0.2*0.18) ⇔ k2=0.344


Donde y2=2.02+0.1(0.18+0.344)=2.0724; x2=0.2+0.2=0.4

h
3º iteração: y3 = y 2 + (k1 + k 2 ) . Tem-se que k1= f(x2, y2)=f(0.4,2.0724)=0.3276
2

k2=f(x2+h, y2+h k1)⇔ k2=f(0.6, 2.0724+0.2*0.3276) ⇔ k2=0.46208


Donde y3=2.0724+0.1(0.3276+0.46208)=2.151368; x3=0.4+0.2=0.6

8
h
4º iteração: y 4 = y3 + (k1 + k 2 ) . Tem-se que k1= f(x3, y3)=f(0.6, 2.151368)=0.448632
2

k2=f(x3+h, y3+h k1)⇔k2=f(0.8, 2.151368+0.2*0.448632) ⇔k2=0.5589056


Donde y4=2.151368+0.1(0.448632+0.5589056)=2.25212176; x4=0.6+0.2=0.8

h
5º iteração: y5 = y 4 + (k1 + k 2 ) . Tem-se que k1= f(x4, y4)=f(0.8, 2.25212176)=0.54787824
2

k2=f(x4+h,y4+h k1)⇔k2=f(1, 2.25212176+0.2*0.54787824)⇔k2=0.638302592


Donde y5=2.25212176+0.1(0.54787824+0.638302592)=2.370739843; x5=0.8+0.2=1