Académique Documents
Professionnel Documents
Culture Documents
CAPÍTULO III
MÉTODOS DE RUNGE-KUTTA
São métodos de passo simples requerem apenas derivadas de primeira ordem e pode fornecer
aproximações precisas com erros de truncamento da ordem de h2, h3, h4, etc.
yi +1 = yi + hφ( xi , yi , h )
onde φ, chamado de função incremento, é uma aproximação conveniente para f((x,y) no intervalo
xi ≤ x ≤ xi +1
φ = ak1 + bk2
k
2
y
i+1
k
1
y
i+1
h
x x x
i i+1
f ( xi , y i ) + f ( xi +1 , yi +1 )
yi +1 = yi + h
2
Assumindo:
k1 = f ( xi , yi ) (a=b=1/2)
k 2 = f ( xi + ph, y i + qhf ( xi , y i )) = f ( xi +1 , y i +1 )
33
PMR 2420 – Mecânica Computacional
Lembrando que:
0 y(xi) yi
1 f ( xi , y ( xi )) ( a + b ) f ( xi , y ( xi ))
2 1
f x ( xi , y ( xi )) + f y ( xi , y ( xi )) f ( xi , y ( xi )) bpf x ( xi , yi ) + bqf ( xi , yi ) f y ( xi , yi )
2
assumindo: yi = y ( xi )
a + b = 1⇒ a = 1− b
1
bp =
2 ⇒ p=q= 1
1 2b
bq =
2
34
PMR 2420 – Mecânica Computacional
1 1
Escolhendo b = ⇒ p = q =1 e a = (Método de Heun)
2 2
k1 = f ( xi , yi )
k 2 = f ( xi + h, yi + hk1 )
então:
1 1
y i +1 = y i + h k 1 + k 2
2 2
fazendo b = 1 ⇒ a = 0 e p = q = 1/2
yi +1 = yi + hk2
1 1
onde: k1 = f ( xi , yi ) e k 2 = f x i + h, y i + hk 1
2 2
isto pode ser interpretado da seguinte forma:
h h
y i +1 = y i + hf x i + , y i +1 2 onde y1+1 2 = yi + f ( xi , yi )
2 2
k
2
y
i+1
y k
i+1/2 1
h/2 h/2
x x x
i i+1
Runge-Kutta de 2a ordem tem erro local de truncamento O(h3) e erro global O(h2)
35
PMR 2420 – Mecânica Computacional
Runge-Kutta de 3a ordem
y i +1 = y i + h(ak 1 + bk 2 + ck 3 )
onde k1, k2 e k3 são aproximações das derivadas em vários pontos no intervalo de integração
xi , xi +1 . Nesse caso,
k1 = f ( xi , yi )
k 2 = f ( xi + ph , yi + phk1 )
a +b+c =1
1
bp + cr =
2
1
bp 2 + cr 2 =
2
1
cps =
6
Duas das contantes são escolhidas arbitrariamente. Para um determinado conjunto de constantes
escolhido por Kutta, tem-se o seguinte método de 3a ordem
y i +1 = y i +
h
(k + 4k 2 + k 3 )
6 1
k1 = f ( xi , yi )
h h
k 2 = f xi + , yi + k 1
2 2
k 3 = f (x i + h, yi + 2hk 2 − hk 1 )
dy
Equivale à regra de Simpson se = f (x )
dx
36
PMR 2420 – Mecânica Computacional
yi +1 = yi +
h
6 1
(k + 2 k 2 + 2 k 3 + k 4 )
k1 = f ( xi , yi )
h h
k 2 = f xi + , yi + k 1
2 2
h h
k 3 = f xi + , yi + k 2
2 2
k 4 = f ( xi + h, y i + hk 3 )
onde:
m = ordem do método
K = função complicada dependendo de f(x,y) e suas derivadas
considerando:
37
PMR 2420 – Mecânica Computacional
y *
= (3)
1 − (h1 h2 )
n +1 m
escolhendo h2 = h1 2 tem-se:
yn +1,1 − 2 m yn +1,2
y *
n +1 = (4)
1 − 2m
Assim, uma estimativa para o erro local de truncamento para a solução yn+1,1 , assumindo
(x n +1 − x n ) = h1 é dada por:
et = Kh1 m +1
=
(
2 m y n +1,2 − y n +1,1 ) (5)
2m − 1
16
et = Kh1 5 =
y
15 n +1,2
− y n +1,1 ( )
Usando esse procedimento para monitorar o erro, o número de cálculos é triplicado.
Um outro critério para determinar o tamanho do passo h, conhecido como critério de Collatz é
feito através da avaliação da relação (k 3 − k 2 ) (k 2 − k 1 ) após cada passo de integração. Se esta
relação se torna maior que alguns centésimos, o passo h deve ser diminuido.
= f 1 ( x , y1 , y 2 , , y n )
dy1
dx
= f 2 ( x , y1 , y 2 , , y n )
dy 2 dy
dx
ou dx = [f ]
= f n ( x , y1 , y 2 , , yn )
dy n
dx
y1 ( x0 ) = y10
y2 ( x0 ) = y2 0 ou [y ] = [y 0 ]
38
PMR 2420 – Mecânica Computacional
yn ( x0 ) = yn0
y1i +1 = y1i + hk 21
y2i+1 = y2 i + hk 2 2 ou [y i +1 ] = [y i ] + h[k 2 ]
y ni +1 = y ni + hk 2n
onde:
(
k11 = f 1 xi , y1i , y2i ,
)
y ni
k 12 = f (x , y
2 i 1i , y 2i , y )
ni ou [k 1 ] = [f ( xi , [y i ])]
( )
k 1n = f n xi , y1i , y 2i , y ni
h h h h
k 21 = f 1 xi + , y1i + k 11 , y 2i + k 12 , y ni + k
2 1n
2 2 2
h h h h
y ni + k 1n ou [k 2 ] = f ( xi + , [y i ] + [k 1 ])
h h
k 22 = f 2 xi + , y1i + k 11 , y 2i + k 12 ,
2 2 2 2 2 2
h h h h
k 2n = f n xi + , y1i + k 11 , y 2i + k 12 , y ni + k
2 1n
2 2 2
d 2V dV
LC 2
+ RC + V = 0 (circuito elétrico RLC)
dt dt
sujeita às seguintes condições iniciais:
dV dV
=0 (corrente elétrica no circuito: i = − C )
dt t = 0 dt
Como primeiro passo, deve-se transformar a E.D.O. acima (segunda ordem) num sistema de
E.D.O de primeira ordem.
Fazendo:
39
PMR 2420 – Mecânica Computacional
dV
=I
dt
dI
LC + RCI + V = 0
dt
Assim teremos o seguinte sistema de E.D.O.
dI R 1
=− I− V
dt L LC
dV
=I
dt
V ( 0) = V0
I ( 0) = 0
I i +1 = I i +
h
(k + 2k 2 + 2k 3 + k 4 )
6 1
= Vi + (q1 + 2q 2 + 2q 3 + q 4 )
h
Vi +1
6
onde:
k 1 = f 1 (t i ,Vi , I i )
h h h
k 2 = f 1 t i + ,Vi + q1 , I i + k 1
2 2 2
h h h
k 3 = f 1 t i + ,Vi + q 2 , I i + k 2
2 2 2
k 4 = f 1 (t i + h,Vi + hq 3 , I i + hk 3 )
q1 = f 2 (t i ,Vi , I i )
h h h
q 2 = f 2 t i + ,Vi + q1 , I i + k 1
2 2 2
h h h
q 3 = f 2 t i + ,Vi + q 2 , I i + k 2
2 2 2
q 4 = f 2 (t i + h,Vi + hq 3 , I i + hk 3 )
40
PMR 2420 – Mecânica Computacional
sendo:
R 1
f 1 (t ,V , I ) = − I− V
L LC
f 2 (t ,V , I ) = I
41