Prévia do material em texto
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
015
3
2
2
2
=−⎟⎠
⎞⎜⎝
⎛+ y
dx
dyx
dx
yd
2
(y’’’)4-x2(y’’)5+4xy=xex 3
1
3
4
4
3 −⎟⎟⎠
⎞
⎜⎜⎝
⎛=
dx
yd
dx
dyx
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,
⎪⎩
⎪⎨
⎧
=
−=
−=
0)0('
1)0(
2'3''
y
y
yyy
é 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.,
⎩⎨
⎧
==
=
η00 )(
),('
yxy
yxfy
, ηum número dado. (7.1)
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
⎪⎩
⎪⎨
⎧
=
−=
−=
0)0('
1)0(
2'3''
y
y
yyy
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:
⎪⎪⎩
⎪⎪⎨
⎧
=
−=
=
−=
0)0(
1)0(
'
23'
z
y
zy
yzz
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*
**),(),( yyLyxfyxf −≤− ,
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.
Considere-se m subintervalos de [a, b], (m≥1), e seja xj=x0+jh onde m
abh −= , j=0,...,m e
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.
Se m=2n, então nm
abh
2
−= , n=0,1,..., e a sucessão de funções poligonais {yn(x)}
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
⎩⎨
⎧
==
=
η00 )(
),('
yxy
yxfy , η um número dado.
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:
⎩⎨
⎧
−=+=
==
+ 1,...,0),,(
)(
1
0
mjyxhfyy
ayy
jjjj
η
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))(,()()( )(2 j
nn
jjjjj xyhn
xyhxyxhfxyhxy ++++=+
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
⎩⎨
⎧
=
+−=
2)0(
2'
y
yxy
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 é,
)(''
!2
)('1 jjjj xy
hxhyyy ++=+ , j=0,..,m-1
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
[ ]
⎩⎨
⎧
=
++++=+
)(
)),(,(),(
00
1
xyy
yxhfyhxbfyxafhyy jjjjjjjjβα j=0,...,m-1
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.
Tal condição implica
⎪⎩
⎪⎨
⎧
==
−=
b
ba
2
1
1
βα , sendo b arbitrário.
Apresentaremos aqui os dois métodos mais conhecidos de Runge-Kutta de 2ª ordem.
O método de Euler melhorado corresponde à escolha
2
1=b ,e tem-se
2
1=a , 1== βα :
⎪⎪
⎪⎪
⎩
⎪⎪
⎪⎪
⎨
⎧
++=
==
=
++=+
),(
1-m0,...,j ),(
)(
)(
2
12
1
00
211
hkyhxfk
yxfk
xyy
kkhyy
jj
jj
jj
7
O método de Euler modificado corresponde à escolha 1=b ,e tem-se , 0=a
2
1== βα :
⎪⎪
⎪⎪
⎩
⎪⎪
⎪⎪
⎨
⎧
++=
==
=
+=+
)
2
,
2
(
1-m0,...,j ),(
)(
12
1
00
21
khyhxfk
yxfk
xyy
hkyy
jj
jj
jj
Exemplo:
Achar aproximações para o PVI ⎩⎨
⎧
=
+−=
2)0(
2'
y
yxy
na malha [0,1] com h=0.2, usando o método de Euler melhorado.
Tem-se que x0=0 e y0=2.
1º iteração: )(
2 2101
kkhyy ++= . Tem-se que k1= f(x0, y0)=f(0,2)=0
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
2º iteração: )(
2 2112
kkhyy ++= . Tem-se que k1= f(x1, y1)=f(0.2,2.02)=0.18
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
3º iteração: )(
2 2123
kkhyy ++= . Tem-se que k1= f(x2, y2)=f(0.4,2.0724)=0.3276
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
4º iteração: )(
2 2134
kkhyy ++= . Tem-se que k1= f(x3, y3)=f(0.6, 2.151368)=0.448632
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
5º iteração: )(
2 2145
kkhyy ++= . Tem-se que k1= f(x4, y4)=f(0.8, 2.25212176)=0.54787824
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
9