Escolar Documentos
Profissional Documentos
Cultura Documentos
EquacoesDiferencaisOrdinarias PDF
EquacoesDiferencaisOrdinarias PDF
0. Introdução
Muitos fenómenos nas áreas das ciências, engenharias, economia, etc., são
modelados por equações diferenciais. Suponha-se que se quer determinar a posição
de um corpo em movimento, e que apenas se conhece a sua velocidade ou a sua
aceleração. No fundo, quer determinar-se uma função desconhecida, utilizando certos
dados, relacionados por uma equação que contém, pelo menos, uma das derivadas
dessa função. Estas equações chamam-se equações às derivadas ou equações
diferenciais.
Tal como acontece com o cálculo do integral de uma função, os métodos analíticos
para a resolução de equações diferenciais aplicam-se apenas a certos tipos de
problemas. Por isso recorre-se com frequência ao uso de métodos numéricos para
obter a solução de uma equação diferencial sujeita a uma dada condição.
Uma equação diferencial é uma equação que envolve uma função desconhecida
(incógnita) e suas derivadas.
Exemplos:
Equação Diferencial Ordem São do tipo
Ordinária
y’=f(x,y)
y’=x2+y2 1
3
⎛ d2y ⎞
7 5
⎛ dy ⎞ ⎛ dy ⎞
⎜⎜ 2 ⎟⎟ + 3y⎜ ⎟ + y 3 ⎜ ⎟ = 5x y’’=f(x,y, y’)
⎝ dx ⎠ ⎝ dx ⎠ ⎝ dx ⎠ 2
y(3)=f(x,y,y’,y’’)
(y’’’)4-x2(y’’)5+4xy=xex 3
y(4)=f(x,y,y’,y’’,y(3))
x3 y’=( y(4) )3 –1 4
M M M
verificam a equação.
Exemplo:
y( x ) = c1sen( 2 x ) + c2 cos( 2 x ) com c1 ,c2 ∈ IR , é a solução geral da equação
⎧ y '' + 4 y = 0
⎪
Exemplo: ⎨ y ( 0) = 0 PVI de 2ª ordem.
⎪ '
⎩ y ( 0) = 2
Definição do problema
Neste capítulo consideraremos o problema de determinar a função y=y(x) que
satisfaz simultaneamente a equação diferencial (1ª ordem) e a condição inicial:
Teorema:
Seja f definida e contínua em D={(x,y): a ≤ x ≤ b, y ∈ IR } com a e b
df
finitos. Seja contínua e limitada em D. Então ∀x 0 ∈ [a, b] e y 0 ∈ IR , o
dy
problema (7.1) tem solução única continuamente diferenciável para x ∈ [a, b] . ■
Para obter a solução y(x) em pontos x ∈ [a,b] diferentes de xn (n = 0, 1, ...) pode usar-
se interpolação.
O objectivo dos métodos numéricos é o cálculo das aproximações y1, y2, ..., ym para
as soluções exactas y(x1), y(x2),..., y(xm).
' h 2 ''
y(x n +1 ) = y(x n ) + h.y (x n ) + y (ξ n ), onde x n < ξ n < x n +1 . (7.2)
2
Donde, da equação diferencial de (7.1) e de (7.2) concluimos que
h 2 ''
y(x n +1 ) = y(x n ) + h.f(x n , y(x n )) + y (ξ n ).
2
h 2 ''
Se h é “pequeno” o termo y (ξ n ) será também “pequeno” e podemos escrever
2
⎧y 0 = y(x 0 )
⎪
⎨ (7.3) .
⎪y
⎩ j+1 = y j + h.f(x j , y j ), j = 0,..., m − 1
Resolução:
Tem-se que x0=0 e y0=2.
b − a 1− 0
Além disso, m = = = 5 ⇒ m -1 = 4 .
h 0.2
⎧y 0 = 2
⎪
⎨
⎪y
⎩ j+1 = y j + h.f(x j , y j ), j = 0,1,2,3,4.
⎧y 0 = 2
⎪
⇔ ⎨
⎪y ( )
⎩ j+1 = y j + 0.2 * x j - y j + 2 , j = 0,1,2,3,4.
1ª iteração
y1 = y0 + 0.2*(x0 - y0 + 2) ⇔ y1 = 2 + 0.2*(0 – 2 + 2) ⇔ y1 = 2
x1 = 0 + 0.2 = 0.2
2ª iteração
x3=0.4+0.2=0.6
4ª iteração
y4 = y3 + 0.2*(x3 - y3 + 2) ⇔ y4 = 2.112+0.2(0.6-2.112+2) ⇔ y4 = 2.2096
5ª iteração
y5 = y4 + 0.2*(x4 - y4 +2) ⇔ y5 = 2.2096+0.2*(0.8-2.2096+2) ⇔ y5=2.3277
x5 = 0.8 + 0.2 = 1
As soluções aproximadas para o PVI na malha [0, 1] com passo h=0.2 são
{ 2 , 2.04 , 2.112 , 2.2096 , 2.3277 }.
Erros de discretização
Supondo que se conhece exactamente o valor de y(xn), ao aproximar
h 2 ''
Este erro é igual a y (ξ n ), ξ ∈ ]x n , x n +1[ , e é o erro de truncatura
2
introduzido no passo de xn para xn+1.
Contudo, ao calcular uma aproximação para y(xn+1) pelo método de Euler (7.3), o
valor yn usado é uma aproximação para y(xn). O valor yn foi calculado usando uma
Comentários
O método de Euler não é muito usado uma vez que os resultados obtidos têm,
em geral, pouca precisão, a não ser que se seleccione uma valor para o passo
demasiado pequeno o que torna o processo demasiado lento.
x n < ξ n < x n +1 .
h 2 ''
y(x n +1 ) ≅ y(x n ) + h.y ' (x n ) + y (x n ).
2
⎧ y 0 = y(x 0 )
⎪
⎨ h2 '
⎪ y j+1 = y j + h.f(x j , y j ) + f (x j , y j ), j = 0,1,..., m - 1.
⎩ 2
onde: ( )
f ' x j, y j =
∂f
∂x
(
x j, y j +)∂f
∂y
( )(
x j , y j .f x j , y j .)
Exemplo
⎧ y' = x − y + 2
Achar aproximações para a solução do PVI ⎨
⎩ y( 0 ) = 2
na malha [0,1] com h=0.2, usando o método de Taylor de 2ª ordem.
⎧y 0 = 2
⎪
⇔ ⎨
⎪y
⎩ j+1 = 0.82y j + 0.18x j + 0.38, j = 0,1,2,3,4.
1ª iteração
x1 = 0 + 0.2 = 0.2
2ª iteração
4ª iteração
⇔ y4 = 2.25212176
5ª iteração
⇔ y5 = 2.370739843
x5 = 0.8 + 0.2 = 1
As soluções aproximadas para o PVI na malha [0, 1] com passo h=0.2 são { 2.02 ,
⎧y 0 = y(x 0 )
⎪
⎪⎪y h2 ' h 3 '' h 4 '''
= y j + h.f(x j , y j ) + f (x j , y j ) + f (x j , y j ) + f (x j , y j ),
⎨ j+1 2 6 24
⎪
⎪
⎪⎩ j = 0,1,..., m - 1.
⎧ y 0 = y (x 0 )
⎪
⎨
⎪y [ ( ) ( ( ))]
⎩ j+1 = y j + h a .f x j , y j + b.f x j + α .h, y j + β .h.f x j , y j , j = 0,1,..., m - 1 .
⎡ ⎞⎤
( ) ⎛ 1 1
( )
y j+1 = y j + h ⎢(1 − b )f x j , y j + b.f ⎜ x j + .h, y j + .h.f x j , y j ⎟⎥ ,
⎣ ⎝ 2b 2b ⎠⎦
j = 0,1,..., m - 1 .
1
Corresponde à escolha b = ,
2
⎧ y 0 = y (x 0 )
⎪
⎪ y j+1 = y j + h (k1 + k 2 )
⎪ 2
⎪
⎨ , j = 0,1, ..., m − 1.
(
⎪k = f x , y
⎪ 1 j j)
(
⎪k 2 = f x j + h , y j + h.k1
⎪⎩
)
Exemplo:
⎧ y' = x − y + 2
Achar aproximações para o PVI ⎨ na malha [0,1] com h=0.2, usando
⎩ y( 0 ) = 2
o método de Euler melhorado.
Resolução:
⎧y 0 = 2
⎪
⎪ y j+1 = y j + 0.1 * (k1 + k 2 ) ,
⎪
⎨ j = 0,1,2,3,4.
⎪ 1
(j j )
⎪k = f x , y = x - y + 2
j j
( )
⎪k 2 = f x j + 0.2 , y j + 0.2 * k1 = 0.8 * x j − 0.8 * y j + 1.8
⎩
1º iteração:
y1 = y0 + 0.1*(k1+ k2)
k1 = x0 - y0 + 2 ⇔ k1 = 0 – 2 + 2 ⇔ k1 = 0
e, x1 = 0 + 0.2 = 0.2
2º iteração:
y2 = y1 + 0.1*(k1+ k2)
y3 = y2 + 0.1*(k1+ k2)
4º iteração:
y4 = y3 + 0.1*(k1+ k2)
5º iteração:
y5 = y4 + 0.1*(k1+ k2)
⇔ y5 = 2.370739843
e, x5 = 0.8 + 0.2 = 1
Corresponde à escolha b = 1,
⎧y 0 = y (x 0 )
⎪
⎪
⎪y j+1 = y j + h.k 2 ,
⎪
⎨ j = 0,1, ..., m - 1.
(
⎪k = f x , y
⎪ 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 ⎨ , na malha [0,1] com h=0.2, usando
⎩ y( 0 ) = 2
o método de Euler modificado.
Resolucão:
b − a 1− 0
Além disso, m = = = 5 ⇒ m -1 = 4 .
h 0.2
1º iteração:
y1 = y0 + 0.2*k2
e, x1 = 0 + 0.2 = 0.2
2º iteração:
y2 = y1 + 0.2*k2
y3 = y2 + 0.2*k2
4º iteração:
y4 = y3 + 0.2*k2
5º iteração:
y5 = y4 + 0.2*k2
⇔ k2 = 0.593090416
e, x5 = 0.8 + 0.2 = 1
⎧
⎪ y = y(x )
⎪ 0 0
⎪ h
⎪ y j+1 = y j + 6 (k1 + 2k 2 + 2k 3 + k 4 )
⎪
⎪ j = 0,..., m - 1.
⎪
⎨k1 = f(x j , y j )
⎪
⎪k 2 = f(x j + h , y j + h k1 ),
⎪ 2 2
⎪ h h
⎪k 3 = f(x j + , y j + k 2 )
⎪ 2 2
⎪k 4 = f(x j + h, y j + hk 3 )
⎩
Exemplo:
⎧ y' = x − y + 2
Achar aproximações para o PVI ⎨
⎩ y( 0 ) = 2
⎧y 0 = 2
⎪ 0.2
⎪ y j+1 = y j + * (k1 + 2k 2 + 2k 3 + k 4 ) ,
⎪ 6
⎪ j = 0,1,2,3,4.
⎪
⎪k 1 = x j - y j + 2
⎪
⎨
⎪k 2 = f (x j + 0.1, y j + 0.1* k1 ) = 0.9 * x j − 0.9 * y j + 1.9
⎪
⎪
⎪k 3 = f (x j + 0.1, y j + 0.1* k 2 ) = 0.91* x j − 0.91 * y j + 1.91
⎪
⎪
⎪k = f (x + 0.2 , y + 0.2 * k ) = 0.818 * x − 0.818 * y + 1.818
⎩ 4 j j 3 j j
Cálculos auxiliares:
(
k1 = f x j , y j )
= xj − yj + 2
(
k 2 = f x j + 0.1 , y j + 0.1 * k1 )
( (
= f x j + 0.1 , y j + 0.1 * x j − y j + 2 ))
= f (x j + 0.1 , y j + 0.1 * x j − 0.1 * y j + 0.2)
= f (x j + 0.1 , 0.9 * y j + 0.1 * x j + 0.2 )
= x j + 0.1 − (0.9 * y j + 0.1 * x j + 0.2 ) + 2
= 0.9 * x j − 0.9 * y j + 1.9
(
k 4 = f x j + 0.2 , y j + 0.2 * k 3 )
( (
= f x j + 0.2 , y j + 0.2 * 0.91 * x j − 0.91 * y j + 1.91 ))
= f (x j + 0.2 , y j + 0.182 * x j − 0.182 * y j + 0.382 )
= f (x j + 0.2 , 0.818 * y j + 0.182 * x j + 0.382 )
= x j + 0.2 − (0.818 * y j + 0.182 * x j + 0.382) + 2
= 0.818 * x j − 0.818 * y j + 1.818
Então,
0.2
y j +1 = y j + * (k 1 + 2 k 2 + 2 k 3 + k 4 )
6
0.2
= yj + * ((x j - y j + 2 ) + 2 (0 .9 * x j − 0.9 * y j + 1 .9 )
6
+ 2 (0 .91 * x j − 0.91 * y j + 1 .91 ) + (0 .818 * x j − 0.818 * y j + 1 .818 ))
0.2
= yj + * (5 .438 * x j − 5 .438 * y j + 11 .438 )
6
1º iteração:
y1 = 0.818733334*y0 + 0.181266666*x0+0.381266666
x1 = 0 + 0.2 = 0.2
2º iteração:
y2 = 0.818733334*y1 + 0.181266666*x1+0.381266666
= 0.818733334*2.018733335 + 0.181266666*0.2+0.381266666
= 2.070324273
3º iteração:
y3 = 0.818733334*y2 + 0.181266666*x2+0.381266666
= 0.818733334*2.070324273+ 0.181266666*0.4+0.381266666
= 2.148816828
4º iteração:
= 0.818733334*2.148816828+ 0.181266666*0.6+0.381266666
= 2.249334632
5º iteração:
= 0.818733334*2.249334632+ 0.181266666*0.8+0.381266666
= 2.367885242
e,
x5 = 0.8 + 0.2 = 1
As soluções aproximadas para o PVI na malha [0, 1] com passo h=0.2 são: