Buscar

Método de Runge-Kutta para EDO

Prévia do material em texto

Exemplos Resolvidos
SME0300 – Cálculo Numérico – Turma 2010202
22 de novembro de 2010
Exemplo 1. [Runge-Kutta]
Usando
yn+1 = yn +
h
2
[k1 + k2] , n = 0,1,2, . . .
k1 = ƒ (n, yn),
k2 = ƒ (n + h, yn + hk1),
resolver¨
y′ = −y+ + 2
y(0) = 2,  ∈ [0,0,3], h = 0,1.
”
Solução exata: y() = e− + + 1
—
Solução:
Sendo ƒ (, y) = −y +  + 2, h = 0,1, 0 = 0 e y0 = 2, precisamos encontrar yn, com
n = 1,2,3, onde 1 = 0,1, 2 = 0,2 e 3 = 0,3.
Então, para n = 0:
y1 = y0 +
h
2
[k1 + k2]
k1 = ƒ (0;y0) = ƒ (0; 2) = −2+ 0+ 2 = 0,000000
k2 = ƒ (0 + h;y0 + hk1) = ƒ (0,1; 2) = −2+ 0,1+ 2 = 0,100000
⇒ y1 = 2+ 0,1
2
[0,000000+ 0,100000] = 2,005000.
Para n = 1:
y2 = y1 +
h
2
[k1 + k2]
k1 = ƒ (1;y1) = ƒ (0,1; 2,005000) = −2,005000+ 0,1+ 2 = 0,095000
k2 = ƒ (1 + h;y1 + hk1) = ƒ (0,2; 2,014500) = −2,014500+ 0,2+ 2 = 0,185500
⇒ y2 = 2,005000+ 0,1
2
[0,095000+ 0,185500] = 2,019025.
Para n = 2:
y3 = y2 +
h
2
[k1 + k2]
k1 = ƒ (2;y2) = ƒ (0,2; 2,019025) = −2,019025+ 0,2+ 2 = 0,180975
k2 = ƒ (2 + h;y2 + hk1) = ƒ (0,3; 2,037123) = −2,037123+ 0,3+ 2 = 0,262877
⇒ y3 = 2,019025+ 0,1
2
[0,180975+ 0,262877] = 2,041218.
Assim,
k k yk y(k)
0 0,000000 2,000000 2,000000
1 0,100000 2,005000 2,004837
2 0,200000 2,019025 2,018731
3 0,300000 2,041218 2,040818
1
Exemplo 2. [Sistemas de Equações e Equações de Ordem Elevada]
Resolver a equação diferencial de segunda ordemy
′′ − y = e
y(0) = 1
y′(0) = 0,  ∈ [0,0,2], h = 0,1
–
Solução exata: y() =
1
4
€
e + 2e + 3e−
Š™
usando o método
yn+1 = yn +
h
2
[k1 + k2] , n = 0,1,2, . . .
k1 = f(n,yn),
k2 = f(n + h,yn + hk1).
Solução:
Sendo a equação diferencial de segunda ordem, vamos transformá-la em um sistema
de equações diferenciais de primeira ordem.
Substituindo z = y′:
y′′ − y = e ⇒ z′ − y = e ⇒ z′ = y+ e.
Então, o sistema será: 
y′ = z = ƒ (, y, z)
z′ = y+ e = g(, y, z)
y(0) = 1
z(0) = 0,  ∈ [0,0,2], h = 0,1
O método proposto pode ser reescrito para este sistema:�
y0
z0
�
=
�
y(0)
z(0)
�
�
yn+1
zn+1
�
=
�
yn
zn
�
+
h
2
(k1 + k2) , n = 0,1, . . .
k1 =
�
k11
k12
�
=
�
ƒ (n, yn, zn)
g(n, yn, zn)
�
k2 =
�
k21
k22
�
=
�
ƒ (n + h, yn + hk11, zn + hk12)
g(n + h, yn + hk11, zn + hk12)
�
Vamos, então, resolver o sistema de equações.
Sendo ƒ (, y, z) = z, g(, y, z) = y + e e [y0, z0]T = [1,0]T , com 0 = 0,0, 1 = 0,1,
2 = 0,2 e h = 0,1:
Para n = 0:
k1 =
�
ƒ (0;y0; z0)
g(0;y0; z0)
�
=
�
ƒ (0,0; 1,0; 0,0)
g(0,0; 1,0; 0,0)
�
=
�
0,0
1,0+ 1,0
�
=
�
0,0
2,0
�
;
k2 =
�
ƒ (0 + h;y0 + hk11; z0 + hk12)
g(0 + h;y0 + hk11; z0 + hk12)
�
=
�
ƒ (0,1; 1,0; 0,2)
g(0,1; 1,0; 0,2)
�
=
=
�
0,2
1,0+ 1,105171
�
=
�
0,2
2,105171
�
;�
y1
z1
�
=
�
y0
z0
�
+ h (k1 + k2) =
�
1
0
�
+ (0,05)
�
0,0+ 0,2
2,0+ 2,105171
�
=
�
1,01
0,205259
�
.
2
Para n = 1:
k1 =
�
ƒ (1;y1; z1)
g(1;y1; z1)
�
=
�
ƒ (0,1; 1,01; 0,205259)
g(0,1; 1,01; 0,205259)
�
=
�
0,205259
1,01+ 1,105171
�
=
�
0,205259
2,115171
�
;
k2 =
�
ƒ (1 + h;y1 + hk11; z1 + hk12)
g(1 + h;y1 + hk11; z1 + hk12)
�
=
�
ƒ (0,2; 1,030526; 0,416776)
g(0,2; 1,030526; 0,416776)
�
=
=
�
0,416776
1,030526+ 1,221403
�
=
�
0,416776
2,251929
�
;�
y2
z2
�
=
�
y1
z1
�
+ h (k1 + k2) =
�
1,02
0,410517
�
+ (0,05)
�
0,205259+ 0,416776
2,115171+ 2,251929
�
=
=
�
1,051102
0,628872
�
.
Resumindo:
k k yk zk = y′k y(k)
0 0,000000 1,000000 0,000000 1,000000
1 0,100000 1,010000 0,205259 1,010179
2 0,200000 1,051102 0,628872 1,041539
3

Continue navegando