Matemtica Computacional
Carlos Alberto Alonso Sanches
Juliana de Melo Bezerra
CCI-22
8) Equaes Diferenciais
Ordinrias
Mtodo de Euler, Sries de Taylor, Runge-Kutta,
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
Definies
Condies iniciais
y(t2) = k2
...
y(n-1)(tn-1) = kn-1
Exemplo:
y = -(1 - y2)y - y
y(0) = 1
y(0) = 2
PVI e PVC
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
Mtodo de Euler
y(x)
y1
y0
x0
x1
dy
y y0
f(x0 , y0 )
f(x0 , y0 )
dx ( x0 ,y0 )
x x0
Sejam y1 = y(x1) e h = x1 - x0
Equao da reta tangente a (x0,y0):
= y0 + h.f(x0,y0)
y1 y0 + h.f(x0,y0)
Mtodo de Euler
yi+1 yi + h.f(xi,yi)
Exemplo
yi+1 yi + h.(2xi + 3)
Considerando h = 0,1:
x0 = 1,0
x1 = 1,1
x2 = 1,2
x3 = 1,3
x4 = 1,4
x5 = 1,5
y0 = 1,0
y1 = 1,5
y2 = 2,02
y3 = 2,56
y4 = 3,12
y5 = 3,70
x0 = 1,00
x10 = 1,10
x20 = 1,20
x30 = 1,30
x40 = 1,40
x50 = 1,50
Considerando h = 0,01:
y0 = 1,0
y10 = 1,509
y20 = 2,038
y30 = 2,587
y40 = 3,156
y50 = 3,747
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
yi1
k
h2
(k ) h
yi y'i h y''i
yi
2
k!
Exemplo
y(2,1) 2 + (0,1)2/4
y(2,1) 2,0025
Exemplo
y = x y y0 = y(0) = 0 2 = -2
y = 1 - y y0 = y(0) = 1 (-2) = 3
y = -y y0 = y(0) = -3
y(4) = -y y0(4) = y(4)(0) = 3
Portanto, y2 1,40995
L1: y = yi + (x-xi).f(xi,yi)
L: y = yi + (x-xi).[f(xi,yi) + f(xi+1,i+1)]/2
i+1 = yi + hyi
L1
yi+1
yi
Q
xi
L0
L2
y (x)
xi+1
Coincide com um
Mtodo de RungeKutta de 2 ordem
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
Mtodos de Runge-Kutta
Runge-Kutta de ordem n
Runge-Kutta de 2 ordem
a2q11 =
Runge-Kutta de 2 ordem
Runge-Kutta de 3 e 4 ordens
k2 = f(xi + h, yi + k1h)
4 ordem:
k2 = f(xi + h, yi + k1h)
k3 = f(xi + h, yi + k2h)
k4 = f(xi + h, yi + k3h)
Exemplo
Consideraremos h = 0,2
f(x,y) = x - y
x0 = 0, xi = x0 + 0,2i
y0 = 2
k1 = f(xi, yi)
k2 = f(xi + h, yi + k1h)
yi+1 = yi + (k1 + k2)h
i
xi
yi
0,2
1,66
0,6
0
2
4
5
0,0
0,4
0,8
1,0
1,4172
1,254104
1,1563652
1,1122192
k1
-2
-1,46
-1,0172
-0,654104
-0,356369
k2
-1,4
-0,968
-0,61376
-0,323283
-0,0850914
Resultados experimentais
Erro
relativo (%)
100
1
10-2
10-4
10-6
Euler
Heun
RK de 3 ordem
RK de 4 ordem
Butcher
MatLab
O passo h encontrado automaticamente para que cada yi tenha erro relativo 10-3
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
Mtodos de Adams
xi 1
xi 1
xi
xi
i1 )
y(xi )
f(x, y(x))dx
xi 1
xi
Por sua vez, isso pode ser feito atravs de dois modos:
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
Mtodos explcitos
Na aproximao dessa integral, os Mtodos de AdamsBashfort utilizam m+1 pontos, e por isso so chamados
mtodos de ordem m+1
Isso feito atravs da integrao do polinmio
interpolador pm(x):
y(xi1 ) y(xi )
xi 1
xi
m ( x)dx
Pontos de interpolao: (xi, fi), (xi-1, fi-1), (xi-2, fi-2), (xi-3, fi-3)
f(x,y(x)) = y(x) p3(x) = L-3(x)fi-3 + L-2(x)fi-2 + L-1(x)fi-1 + L0(x)fi
Substituindo na integral:
xi 1
xi 1
xi
xi
xi 1
xi
h
h
h
h
f(x, y(x))dx p3 (x)dx
fi3 L3 (s)ds fi2 L2 (s)ds fi1 L1 (s)ds fi L0 (s)ds
6
2
2
6
p3 (x)dx
yi1 yi
9h
37h
59h
55h
fi3
fi2
fi1
fi
24
24
24
24
h
[55fi 59fi1 37 fi2 9fi3 ]
24
Pontos de interpolao: (xi, fi), (xi-1, fi-1), (xi-2, fi-2), (xi-3, fi-3)
Vimos anteriormente que o erro na interpolao com p3(x)
E3(x) = (x xi-3)(x xi-2)(x xi-1)(x xi)f(4)()/4!, onde (xi,xi-3)
Portanto, o erro cometido :
1 i 1
e(xi1 )
(x xi3 )(x xi2 )(x xi1 )(x xi )f( 4 ) (, y())dx
4! xi
x
h5
e(xi1 )
(s 3)(s 2)(s 1)sf( 4 ) (, y())ds
4! 0
1
3
)
(
s
2
)(
s
1
)
sf
(
,
y
(
))
ds
f
(
,
y
(
))
g
(
s
)
ds
f
(
,
y
(
))
0
4! 0
4!
24
30
1
Portanto:
e(xi1 ) h5 f( 4 ) (, y())
251
251
h5 y (5) ()
720
720
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
Mtodos implcitos
xi 1
xi
m 1 ( x)dx
Pontos de interpolao: (xi+1, fi+1), (xi, fi), (xi-1, fi-1), (xi-2, fi-2)
f(x,y(x)) = y(x) p3(x) = L-2(x)fi-2 + L-1(x)fi-1 + L0(x)fi + L1(x)fi+1
Substituindo na integral:
xi 1
xi 1
xi
xi
h
h
h
h
f(x, y(x))dx p3 (x)dx
fi2 L2 (s)ds fi1 L1 (s)ds fi L0 (s)ds fi1 L1 (s)ds
6
2
2
6
yi1 yi
h
[9fi1 19fi 5fi1 fi2 ]
24
h5
( 4)
e(xi1 )
(
s
2
)
(
s
1
)
s
(
s
1
)
f
(, y())ds
4! 0
1
e(xi1 ) h y
5 ( 5)
19
()
720
Exemplo
x0 = 0 e y0 = 1000
Apenas para testar o mtodo, vamos utilizar y1, y2 e y3 obtidos atravs
da soluo exata do PVI: y(x) = 1000.e0,04x
Em seguida, utilizamos a sua frmula de clculo:
yi+1 = yi + h(55fi - 59fi-1 + 37fi-2 9fi-3)/24
i
xi
0,0
yi
fi = f(xi,yi)
soluo exata
1000
40
1000
0,2
1008,0321
40,321284
1008,0321
0,6
1024,2903
40,971612
1024,2903
2
4
5
0,4
0,8
1,0
1016,1287
1032,517487
1040,810756
40,645148
41,30069948
1016,1287
1032,5175
1040,810774
Alguns casos
Ordem
2
3
4
5
Frmula
Ordem
2
3
4
5
Frmula
Erro
5h3f()/12
9h4f(3)()/24
251h5f(4)()/720
475h6f(5)()/1440
Erro
-h3f()/12
-h4f(3)()/24
-19h5f(4)()/720
-27h6f(5)()/1440
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
Mtodos de previso-correo
Exemplo
x1 = 1,1
x2 = 1,2
x3 = 1,3
y0 = 1/x0 = 1
y1 = 1/x1 = 0,9090909
y2 = 1/x2 = 0,8333333
y3 = 1/x3 = 0,7692307
f0 = -y02 = -1
f1 = -y12 = -0,8264462
f2 = -y22 = -0,6944443
f3 = -y32 = -0,5917158
Convergncia
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
y'n fn ( x, y1 , y2 ,..., yn )
Consideraremos:
y = f(x, y, z) = z
z = g(x, y, z) = y + ex
x0 = 0, y0 = 1, z0 = 0
kf1 f(xi , yi , zi )
k
g
(
x
,
y
,
z
)
g1 i i i
Repete-se nas
demais variveis
Continuao do exemplo
kf1 f(x0 , y0 , z0 ) f(0,1,0) 0
k
g(0,1,0) 2
g
(
x
,
y
,
z
)
g1 0 0 0
g1
kf1 f(x1 , y1 , z1 ) f(0,1;1,01;0,2053) 0,2053
k
g(0,1;1,01;0,2053) 2,1152
g
(
x
,
y
,
z
)
g1 1 1 1
g2 1
g1
Resultados:
xi
yi
zi
0,1
1,01
0,2053
0,2
1,0411
0,4237
y = z2 = z3
...
y(m-1) = zm-1 = zm
y(m) = zm = f(x, y, y, y, ..., y(m-1)) = f(x, z1, z2, z3, ..., zm)
g3 0
g1
y(0,5) 0,1483
y(0,5) 0,6431
y = f(x, y, z, w) = z
y = z = g(x, y, z, w) = w
y = w = t(x, y, z, w) = 1 z
Dados iniciais: x0 = 0, y0 = 0, z0 = 2, w0 = 0
Frmulas do Mtodo de Heun (Runge-Kutta de 2 ordem):
kf1 f(xi , yi , zi , wi )
k g(x , y , z , w )
g1 i i i i
kt1 t(xi , yi , zi, wi )
kf1 kf2
yi1 yi
h
zi1 zi kg1 kg2
2
w
w
kt1 kt2
i1 i
Continuao do exemplo
Utilizando h = 0,5:
i
xi
yi
zi
wi
kf1
kg1
kt1
kf2
kg2
kt2
0,5
1,875
-0,5
1,875
-0,5
-0,875
1,625
-0,938
-0,625
1,875
1,5156
-0,875
-1
-0,5
-1
CCI-22
Definies
Problemas de Valor Inicial (PVI)
Mtodos de passo simples
Mtodo de Euler
yi+1
Diferena centrada
y(xi) (yi+1 yi-1)/2h
yi-1
yi
xi-1
xi
xi+1
Diferena atrasada
y(xi) (yi yi-1)/h
Estimativa do erro
No ponto xi+1 = xi + h:
Estimativa do erro
Subtraindo as equaes:
Somando as equaes:
h3
2
2h3
1 h h 2 1h
y2
y3
1 h h2 2 1 h
3h3
2
3
y
1h h 2 1 h
(n 2)h
n 2
1 h h2 2 yn 1 (n 1)h3 h 1
xi
yi
soluo exata
-0,4911
-0,4900
-0,7969
-0,7956
0,1
-0,2720
0,3
-0,6641
0,2
0,4
y(x) = 2.e-x(1-x) + x - 2
erro
-0,2713
0,0007
-0,6629
0,0013
0,0011
0,0013
Resultado
y2
1,6513
y1
yi
Resultado
y7
3,6525
y9
4,5538
1,3186
y6
y3
2,0037
y8
y5
2,7829
y4
2,3803
3,2091
4,1035