Calculo Numerico
35 pág.

Calculo Numerico


DisciplinaCálculo Numérico11.996 materiais247.718 seguidores
Pré-visualização35 páginas
seja O(hN ); para eliminar o ca´lculo das derivadas faz-se

va´rias avaliac¸o\u2dces da func¸a\u2dco f a cada passo. Estes me´todos podem ser constru´\u131dos

para qualquer ordem N .

Fund. de Ca´lculo Nume´rico para Engenheiros 161

O me´todo de Runge-Kutta de segunda ordem e´ definido pelas equac¸o\u2dces:

yn+1 = yn +
h

2
(k1 + k2) (7.5)

onde

k1 = f(xn, yn)

k2 = f(xn + h, yn + hk1)

Exemplo 7.4: Demonstre como obter esta fo´rmula.

Soluc¸~ao: Considere a expansa\u2dco

yn+1 = yn + f [xn, y(xn)]h+
h2

2!
f \u2032[xn, y(xn)]

onde

yn+1 = yn + [f(ak1, bk2)]h

com a e b constantes. Assim

ak1 + bk2 = f [xn, y(xn)]h+
h2

2!
f \u2032[xn, y(xn)]

onde

k1 = f(xn, yn)

k2 = f [xn + ph, yn + qhf(xn), y(xn)]

Deve-se determinar a,b,q,p. Por expansa\u2dco em Se´ries de Taylor resulta

k2 = f [xn + ph, yn + qhf(xn), y(xn)] \u223c f(xn, yn) + phfx(xn, yn) + qhf(xn, yn)fy(xn, yn)

162 Cap´\u131tulo 7 - Soluc¸a\u2dco Nume´rica de EDO\u2019s

onde

fx(xn, yn) =
\u2202

\u2202x
f(x, y)

}
xn,yn

fy(xn, yn) =
\u2202

\u2202y
f(x, y)

}
xn,yn

pois

f(x, y) \u223c f(a+ h, b+ h2) \u223c f(a, b) + h1 \u2202f(x, y)
\u2202x

}
a,b

+ h2
\u2202f(x, y)

\u2202x

}
a,b

A substituic¸a\u2dco desta expressa\u2dco em yn+1 fornece

yn+1 = yn + h(ak1 + bk2) = yn + h[f(xn, yn) +
h

2
f \u2032(xn, yn)]

ou

yn+1 \u223c yn + h[af(xn, yn) + bf(xn + ph, yn) + qhf(xn, yn)]

e ainda

yn+1 = yn + ah[af(xn, yn)] + hb[fxn + bh
2pfx(xn, yn) + bqh

2f(xn, yn)fy(xn, yn)]

ou

yn+1 = yn + h(a+ b)f(xn, yn) + hb
2[pfx(xn, yn) + qf(xn, yn)fy(xn, yn)]

Como f\u2019(x,y)= ddx(x,y) = fx(x, y) + f(x, y)fy(x, y) pode-se escrever

yn+1 = yn + hf(xn, yn) +
h2

2!
f(xn, yn)fy(xn, yn)

Igualando as expresso\u2dces, obte´m-se

h(a+ b)f(xn, yn) + h
2[bpfx(xn, yn) + qbf(xn, yn)fy(xn, yn)] =

Fund. de Ca´lculo Nume´rico para Engenheiros 163

hf(xn, yn) + h
2

{
fx(xn, yn)

2!
+

1

2!
f(xn, yn)fy(xn, yn)

}

Desta forma a+b = 1, bp = 1/2 e bq = 1/2. Para b = 12 obte´m-se, a = b = 1/2,

p = q = 1.

Portanto, o me´todo de Runge-kutta de ordem 2 e´ dado por

y(n+ 1) = y(n) +
k1 + k2

2
k1 = hf(xn, yn)

k2 = hf(xn + h, yn + k1)

Exemplo 7.5: Obter a soluc¸a\u2dco aproximada da equac¸a\u2dco diferencial

d y

dx
= \u2212x y

y(0) = 1

no intervalo [0, 1], utilizando o me´todo de Runge-Kutta de segunda ordem com h =

0, 1.

Soluc¸~ao: A fo´rmula iterativa (7.5) neste caso fica

yn+1 = yn +
0, 1

2
(k1 + k2)

onde

k1 = \u2212xn yn
k2 = \u2212(xn + 0, 1)(yn + 0, 1 k1)

Como x0 = 0 e y0 = 1, os resultados obtidos sa\u2dco os seguintes:

164 Cap´\u131tulo 7 - Soluc¸a\u2dco Nume´rica de EDO\u2019s

n xn yn k1 k2 yn+1

0 0, 0 1, 000000000 0, 000000000 \u22120, 100000000 0, 995000000
1 0, 1 0, 995000000 \u22120, 099500000 \u22120, 197010000 0, 980174500
2 0, 2 0, 980174500 \u22120, 196034900 \u22120, 288171303 0, 955964190
3 0, 3 0, 955964190 \u22120, 286789257 \u22120, 370914106 0, 923079022
4 0, 4 0, 923079022 \u22120, 369231609 \u22120, 443077930 0, 882463545
5 0, 5 0, 882463545 \u22120, 441231772 \u22120, 503004221 0, 835251745
6 0, 6 0, 835251745 \u22120, 501151047 \u22120, 549595648 0, 782714410
7 0, 7 0, 782714410 \u22120, 547900087 \u22120, 582339521 0, 726202430
8 0, 8 0, 726202430 \u22120, 580961944 \u22120, 601295612 0, 667089552
9 0, 9 0, 667089552 \u22120, 600380597 \u22120, 607051492 0, 606717947

O me´todo de Runge-Kutta de ordem N = 4 e´ o mais popular. Ele e´ em geral uma

boa escolha, pois e´ bastante preciso, esta´vel e fa´cil de programar. Sua forma e´ a

seguinte:

yn+1 = yn +
h

6
(k1 + 2 k2 + 2 k3 + k4) (7.6)

onde

k1 = f(tn, yn)

k2 = f

(
tn +

h

2
, yn +

h

2
k1

)
k3 = f

(
tn +

h

2
, yn +

h

2
k2

)
k4 = f (tn + h, yn + hk3)

a demonstrac¸a\u2dco desta fo´rmula segue o mesmo procedimento indicado para o me´todo

de ordem 2, pore´m e´ muito mais trabalhosa, na\u2dco sendo apresentada.

Ao inve´s de mostrar o desenvolvimento rigoroso destas fo´rmulas, e´ interessante

observar algumas caracter´\u131sticas importantes. Considere o gra´fico de y = y(t) no

Fund. de Ca´lculo Nume´rico para Engenheiros 165

primeiro subintervalo [t0, t1]. Os valores em (7.6) sa\u2dco aproximac¸o\u2dces para as derivadas

desta curva em determinados pontos. Aqui, k1 e´ a derivada na extremidade esquerda

do intervalo, k2 e k3 sa\u2dco duas estimativas para a derivada no ponto central e k4 e´ a

derivada na extremidade direita (veja a figura 7.2).

Figura 7.2: Runge-Kutta de ordem 4

O ponto seguinte, (t1, y1), e´ obtido pela integrac¸a\u2dco

y(t1)\u2212 y(t0) =
\u222b t1
t0

f [t, y(t)] dt. (7.7)

Se a regra de Simpson e´ aplicada a` esta equac¸a\u2dco com espac¸amento h/2, enta\u2dco a

aproximac¸a\u2dco para a integral fica\u222b t1
t0

f [t, y(t)] dt \u2248 h
6

[
f(t0, y(t0)) + 4 f(t1/2, y(t1/2)) + f(t1, y(t1))

]
, (7.8)

onde t1/2 e´ o ponto me´dio do intervalo.

Tre\u2c6s valores da func¸a\u2dco f sa\u2dco necessa´rios; portanto, faz-se a escolha: f(t0, y(t0)) =

k1 e f(t1, y(t1)) \u2248 k4 e para o valor no centro do intervalo escolhe-se uma me´dia

166 Cap´\u131tulo 7 - Soluc¸a\u2dco Nume´rica de EDO\u2019s

entre k2 e k3, isto e´,

f [t1/2, y(t1/2)] \u2248
k2 + k3

2
.

Estes valores sa\u2dco substitu´\u131dos em 7.8, que e´ usada na equac¸a\u2dco 7.7 para determinar

y1:

y1 = y0 +
h

6

[
k1 +

4 (k2 + k3)

2
+ k4

]
.

Quando esta fo´rmula e´ simplificada, percebe-se que esta e´ a equac¸a\u2dco 7.6 para n = 0.

Exemplo 7.6: Obter a soluc¸a\u2dco aproximada da equac¸a\u2dco diferencial

d y

dx
= \u2212x y

y(0) = 1

no intervalo [0, 1] utilizando o me´todo de Runge-Kutta de quarta ordem com h = 0, 1.

A fo´rmula iterativa (7.6) neste caso fica

yn+1 = yn +
0, 1

2
(k1 + 2 k2 + 2 k3 + k4)

onde

k1 = \u2212xn yn
k2 = \u2212(xn + 0, 05)(yn + 0, 05 k1)
k3 = \u2212(xn + 0, 05)(yn + 0, 05 k2)
k4 = \u2212(xn + 0, 1)(yn + 0, 1 k3)

Como x0 = 0 e y0 = 1, os resultados obtidos sa\u2dco indicados na tabela:

Fund. de Ca´lculo Nume´rico para Engenheiros 167

n xn yn k1 k2 k3 k4 yn+1

0 0, 0 1, 0000000 0, 0000000 \u22120, 0500000 \u22120, 0498750 \u22120, 0995012 0, 995012479
1 0, 1 0, 99501248 \u22120, 09950125 \u22120, 14850561 \u22120, 14813808 \u22120, 19603973 0, 98019867
2 0, 2 0, 98019867 \u22120, 19603973 \u22120, 24259917 \u22120, 24201720 \u22120, 28679909 0, 95599748
3 0, 3 0, 95599748 \u22120, 28679924 \u22120, 32958013 \u22120, 32883147 \u22120, 36924573 0, 92311634
4 0, 4 0, 92311634 \u22120, 36924654 \u22120, 40709431 \u22120, 40624273 \u22120, 44124604 0, 88249690
5 0, 5 0, 88249690 \u22120, 44124845 \u22120, 47322390 \u22120, 47235922 \u22120, 50115659 0, 83527021
6 0, 6 0, 83527021 \u22120, 50116213 \u22120, 52663787 \u22120, 52580991 \u22120, 54788245 0, 78270454
7 0, 7 0, 78270454 \u22120, 54789318 \u22120, 56648241 \u22120, 56578532 \u22120, 58090081 0, 72614905
8 0, 8 0, 72614905 \u22120, 58091924 \u22120, 59253763 \u22120, 59204384 \u22120, 60025020 0, 66697684
9 0, 9 0, 66697684 \u22120, 60027916 \u22120, 60511474 \u22120, 60488505 \u22120, 60648834 0, 60653073

7.2.3 Caracter´\u131sticas dos me´todos de passo simples

O me´todo de Euler na\u2dco e´ muito usado em problemas pra´ticos em virtude da ne-

cessidade de intervalos pequenos para obter a precisa\u2dco desejada. Os me´todos de

Runge-Kutta sa\u2dco de maior exatida\u2dco que o de Euler e evitam o ca´lculo das derivadas

de y(x) calculando a func¸a\u2dco f(x,y) em pontos selecionados em cada sub-intervalo. To-

dos os me´todos de passo simples sa\u2dco auto-inicializa´veis. Em particular os me´todos

de Runge-Kutta:

\u2022 Na\u2dco precisam do ca´lculo de derivadas de ordem elevada;

\u2022 Permitem a troca fa´cil do tamanho do intervalo;

\u2022 Dif´\u131ceis de avaliar o erro de truncamento;

\u2022 Fa´ceis de vetorizar e paralelizar.

7.3 Me´todos de passo mu´ltiplo

Os me´todos que executam mais de um passo ou que utilizam informac¸o\u2dces em mais

de um ponto ale´m do ponto anterior para calcular yn+1 sa\u2dco denominados me´todos

168 Cap´\u131tulo 7 - Soluc¸a\u2dco Nume´rica de EDO\u2019s

de passo mu´ltiplo. Dentre eles sa\u2dco indicados os me´todos da fam\u131´lia Adams e de

predic¸a\u2dco-correc¸a\u2dco.

7.3.1 Me´todos da fam\u131´lia Adams e de predic¸a\u2dco correc¸a\u2dco

De acordo com o teorema fundamental do ca´lculo, sabe-se que

y(tn+1)\u2212 y(tn) =
\u222b tn+1
tn

y\u2032(t) dt (7.9)

A ide´ia ba´sica dos me´todos