Prévia do material em texto
68
BVI – Resolução Numérica de equações diferenciais
ordinárias
BVI.1 – Introdução
As equações diferenciais aparecem, frequentemente, em modelos que descrevem
quantitativamente fenômenos em diversas áreas.
Uma equação diferencial é simplesmente uma equação que envolve uma função
desconhecida e algumas de suas derivadas.
Se a equação diferencial tem apenas uma variável independente, então ela é uma
equação diferencial ordinária ou EDO. Exemplos:
yx
dx
dy
+=
22' yxy +=
0')1(" 2 =+−+ yyyy
Se uma equação diferencial envolve mais de uma variável independente, então
ela é do tipo parcial. Exemplo:
02
2
2
2
=
∂
∂
+
∂
∂
yx
μμ , com µ = µ(x, y)
Uma equação diferencial é dita linear quando for do 1º grau em relação à função
e suas derivadas. Exemplos:
⎪⎭
⎪⎬
⎫
+=
+=
−=
32'
'
'
2
xy
xyy
yxxy
lineares ⎪⎭
⎪⎬⎫
=−+
=+++
− )("
0')1(" 2
xfee
yyyy
μμμ
não lineares
A ordem de uma equação diferencial é definida como a mais alta ordem de
derivação que aparecer na equação. Exemplo.
yxxy −=' → 1ª ordem
0')1(" 2 =+++ yyyy → 2ª ordem
Uma equação diferencial não possui solução única, e sim, uma família de
soluções. Exemplo:
cxxyxy ++=⇒+= 332' 2
69
Neste caso, para se individualizar uma solução, tem-se que impor condições
suplementares. Em geral, uma EDO de ordem m requer m condições a fim de ser ter
uma única solução.
Se, dada uma equação diferencial de ordem m, a função, assim como suas
derivadas de ordem m – 1 são especificadas em um mesmo ponto, então tem-se um
problema de valor inicial (PVI). Exemplo:
a) ⎩⎨
⎧
=
=
1)0(
)('
y
yxy
b) ⎪⎩
⎪⎨⎧
===
++=−−+++
3,3)0(";2,2)0(';1,1)0(
)()1('cos")1(''' 222
yyy
yxsenyxyxxyyxy
Portanto, um PVI de ordem m é descrito como:
m
m
mm
nay
nay
nay
yyyxfxy
=
=
=
=
+
+
)(
)('
)(
),,",',()(
)1(
2
1
)1()(
M
L
(6.1)
Nem sempre é possível obter uma solução analítica de uma EDO. Nestes casos,
os métodos numéricos são uma saída para se encontrar uma solução aproximada.
A solução numérica de um PVI de 1ª ordem se baseia em, dado o PVI:
⎩⎨
⎧
=
=
00 )(
),('
yxy
yxfy
,
toma-se m sub-intervalos de [a, b], (m ≥ 1) e faz-se xj = x0 + j·h, onde m
abh −= , j = 0,
1, 2, ..., m, xj [a, b].
A solução numérica ym(x) é uma função linear por partes, cujo gráfico é uma
poligonal com vértices nos pontos (xj, yj) onde yj foi calculado usando-se alguns
métodos numéricos que serão dados a seguir:
Figura 6.1 – Visualização do método.
70
Convenciona-se utilizar a notação y(xj), j = 0, 1, 2, ..., m, para indicar a solução
exata do PVI nos pontos xj Ih (Toma-se y1 como aproximação para y(x1), por
exemplo).
BVI.2 – Método de Euler
Seja o PVI,
⎩⎨
⎧
==
=
η00 )(
),('
yxy
yxfy
, dado.
Deseja-se aproximações y1, y2, y3, ..., ym para as soluções exatas y(x1), y(x2),
y(x3), ..., y(xm). Com o auxílio do gráfico abaixo, é preciso encontrar, incialmente, o
valor de y1.
Figura 6.2 – Visualização do método de Euler.
Como se desconhece o valor de y(x1), toma-se y1 como aproximação para y(x1).
Para isso, traça-se a tangente T à curva y(x) no ponto (x0, y(x0)), cuja equação é:
)(')()()( 000 xyxxxyxy −=−
Fazendo-se x = x1 e y1 = y(x1), tem-se:
))(,( 0001 xyxhfyy +=
)( 111 xyyE −= → erro comentido
Para o cálculo de y2, avança-se uma unidade nos índices, continuando o processo
até ym. Portanto,
)(
))(,(
111
1
+++
+
−=
+=
jjj
jjjj
xyyE
xyxhfyy
, j = 0, 1, 2, ..., m (6.2)
Assim, o método de Euler consiste em calcular recursivamente a seqüência {yj}
através das expressões:
71
⎪
⎪
⎩
⎪
⎪
⎨
⎧
=
+=
=
+
)("
!2
),(
)(
2
1
0
εy
h
E
yxhfyy
ayy
j
jjjj , j = 0, 1, 2, ..., m, xj – 1 ≤ ε ≤ xj (6.3)
Exemplo:
Achar aproximações para a solução do PVI abaixo na malha de [0, 1] com h = 0,1.
⎩⎨
⎧
=
+−=
2)0(
2'
y
yxy
72
Como pode se observar, o erro cresce à medida que se obtém um novo valor.
Isso se deve à propagação do erro. Na prática, não se dispõe da solução exata do PVI.
Daí, a necessidade de uma expressão matemática para a estimativa do erro. Essa
expressão é obtida a partir da série de Taylor mostrada a seguir:
Expandindo uma série de Taylor para y(x) em torno de x0 teríamos:
L+−+−+−+= )('''
!3
)()("
!2
)()('
!1
)()( 0
3
0
0
2
0
0
0
0 xy
xxxyxxxyxxxyxy (6.4)
Os dois primeiros termos corresponde a equação do método de Euler, pois
considerando que x1 – x0 = h, y’(x0) = f(x0, y(x0)) e y(x1) = y1, teríamos:
)('
!1
)()( 000 xy
xxxyxy −+= , y1 = y0 + hf(x0, y0). (6.5)
O próximo termo de ordem superior, que é o erro da fórmula de Euler,
corresponde ao erro cometido. Assim.
)("
!2
)( 201 εyxx − , x0 < ε < x1 (6.6)
Como (x1 – x0) = h, usa-se a seguinte notação
)("
2
2
1 εy
hE = (6.7)
Generalizando, teríamos:
)("
2
2
εyhE j = , xj – 1 < ε < xj, (6.8)
onde Ej é o erro local de um truncamento ou ELT.
BVI.3 – Métodos de Runge-Kutta
Pode-se dizer que os métodos de Runge-Kutta se caracterizam por 3
propriedades:
1) são de passo simples (para se calcular yj+1 utiliza-se apenas yj);
2) concordam com a série de Taylor até os termos de ordem hp, onde p é ordem do
método;
3) não exigem o cálculo de qualquer derivada de f(x, y). No entanto, f(x, y) é
calculada em vários pontos.
BVI.3.1 – Métodos de Runge-Kutta de 1ª ordem
73
O método de Runge-Kutta de 1ª ordem nada mais é do que o método de Euler
que corresponde a expansão da série de Taylor até 1ª ordem, ou seja,
))(,(1 jjjj xyxhfyy +=+ , j = 0, 1, 2, ..., n – 1 (6.9)
Exemplo:
Dado o PVI abaixo, estimar y(2,1) pelo método de Euler com com h = 0,1, 0,05 e 0,025
⎩⎨
⎧
=
−=
2)2(
'
y
yxxy
74
BVI.3.2 – Métodos de Runge-Kutta de 2ª ordem
Os métodos de Runge-Kutta de certa ordem podem ter vária formas, ou seja,
uma família de métodos de Runge-Kutta de 2ª ordem, por exemplo.
Foi visto que o método de Euler usa somente a inclinação no ponto (xj, yj) no
cálculo de yj+1. Uma das maneiras de se melhorar esse método é, em vez de usar só a
inclinação em (xj, yj), usar a média das inclinações em (xj, yj) e (xj+1, yj+1), onde
xj+1 = xj + h e yj+1 = yj + hf(xj, yj).
Todos os métodos de passo simples podem ser escritos na forma:
);,(1 hyxhyy jjjj φ+=+ , j = 0, 1, 2, ..., n – 1 (6.10)
onde (xj, yj; h) é denominada “função incremento”, e h, o comprimento do passo. No
método de Runge-Kutta de 2ª ordem, é dada por:
21 KK βαφ += , (6.11)
onde ),(1 jj yxfK = e )],(,[2 jjjj yxqhfyphxfK ++=
Dessa forma, obtém-se:
yj+1 = yj + hf( K1 + K2) (6.12)
As constantes , , p e q são determinadas por meio da expansão da série de
Taylor de K2, da solução teórica de y(x) até o termo de 2ª ordem de onde obtém-se o
seguinte sistema:
⎪⎩
⎪⎨
⎧
=
=
=+
2/1
2/1
1
q
p
β
β
βα
(6.13)
Observa-se que o sistema possui 3 equações e 4 incógnitas. Isso significa que
uma das incógnitas terá que ser tomada arbitrariamente para que se determine as
demais.
Exemplos:
1) para a escolha p = 1, determine as equações do método de Runge-Kutta de ordem 2.
75
2) para a escolha = 1, determine as equações do método de Runge-Kutta de ordem 2.
O método do exercício 1 é denominado “Método de Euler Melhorado” e o do
exercício 2 é denominado “Método de Euler Modificado”. Observa-se, então, que é
possível a obtenção de uma infinidade de métodos através do sistema linear e todos
esses métodos terão o mesmo erro local de truncamento, ou seja,
)('''
!3
3
εyhE j = , xj – 1 < ε < xj (6.14)
Exemplo:
Achar as aproximações da solução do PVI abaixo na malha [0, 1] com h = 0,1 usando o
método de Euler modificado e o método de Euler melhorado.
⎩⎨
⎧
=
+−=
2)0(
2'
y
yxy
76
Exemplo:
Dado o PVI abaixo, estimar y(1) pelos 3 métodos de Eulerpara h = 1, 0,5 e 0,25.
⎩⎨
⎧
=
=
1000)0(
04,0'
y
yy
BVI.3.3 – Métodos de Runge-Kutta de 3ª e 4ª ordens
Os métodos de Runge-Kutta de terceira e quarta ordens são obtidos de maneira
análoga aos de segunda ordem. Especificamente para o método de terceira ordem,
temos:
321);,( KKKhyx jj γβαφ ++=
),(1 jj yxfK =
),( 12 qhKyphxfK jj ++=
))(,( 123 hKsushKyuhxfK jj −+++=
As constantes , , , p, q, s e u são determinadas por meio da expansão da série
de Taylor de K2 e K3 até 3ª ordem, de onde obtém-se os seguintes coeficiente:
⎪⎪⎩
⎪⎪⎨
⎧
=
=+
=+
=+++
6/1
3/1
2/1
1
22
cps
cubq
ucqb
δγβα
O sistema apresenta 4 equações e 6 incógnitas. Portanto, duas incógnitas devem
ser escolhidas de modo a se determinar as demais. Dentre as famílias de métodos de
Runge-Kutta de 3ª, os mais utilizados são dados abaixo:
77
)4(
6 3211
KKKhyy jj +++=+ , j = 0, 1, 2, ..., n – 1
),(1 jj yxfK =
⎟⎠
⎞⎜⎝
⎛
++= 12 2
,
2
KhyhxfK jj
( )123 2, hKhKyhxfK jj −++=
)(
!4
)(
4
εIVj y
hE = xj – 1 < ε < xj,
3211 9
4
3
1
9
2 KKKyy jj +++=+ , j = 0, 1, 2, ..., n – 1
),(1 jj yxhfK =
⎟⎠
⎞⎜⎝
⎛
++=
2
,
2
1
2
KyhxhfK jj
⎟⎠
⎞⎜⎝
⎛
++= 23 4
3,
4
3 KyhxhfK jj
)(
!4
)(
4
εIVj y
hE = xj – 1 < ε < xj,
Dentre os métodos de Runge-Kutta de 4ª ordem, o mais utilizado é dado por:
)22(
6 43211
KKKKhyy jj ++++=+ , j = 0, 1, 2, ..., n – 1
),(1 jj yxfK =
⎟⎠
⎞⎜⎝
⎛
++= 12 2
,
2
KhyhxfK jj
⎟⎠
⎞⎜⎝
⎛
++= 23 2
,
2
KhyhxfK jj
⎟⎠
⎞⎜⎝
⎛
++= 34 ,2
hKyhxfK jj
)(
!5
)(
5
εVj y
hE = xj – 1 < ε < xj
Exemplo:
Dado o PVI abaixo, estimar y(1) pelo método de Runge-Kutta de 3ª ordem com h = 1
⎩⎨
⎧
=
=
1000)0(
04,0'
y
yy
78
BVI.4 – Outros métodos de resolução numérica de EDO
Os métodos de Runge-Kutta são denominados de passo simples pois utilizam
apenas o valor anterior para calcular o valor atual. Em métodos de passo múltiplo, se a
aproximação yj+1 depende de k valores anteriores, diz-se que k é o passo do método.
Entre os métodos de passo múltiplo estão os métodos de Adams, onde a função f(x, y(x))
que é desconhecida é substituída por um polinômio interpolador, que assume valores
fj = f(x, y(x)) numa seqüência de pontos xj, yj.
BVI.4.1 – Método de Adams-Bashforth de passo dois
A fórmula geral do método de Adams-Bashforth de passo dois é dada por:
)3(
2 11 −+
−+= jjjj ff
hyy , j = 1, 2, ..., m – 1 (6.15)
)('''
12
5 3 εyhE j = , xj – 1 < ε < xj
BVI.4.2 – Método de Adams-Bashforth de passo quatro
A fórmula geral do método de Adams-Bashforth de passo quatro é dada por:
79
)9375955(
24 3211 −−−+
−+−+= jjjjjj ffff
hyy , j = 3, 4, ..., m – 1 (6.16)
)(
720
251 )(5 εVj yhE = , xj – 1 < ε < xj
Exemplo:
Dado o PVI abaixo, estimar y(1) pelo método de Adams-Bashforth de passo 4 com
h = 0,2
⎩⎨
⎧
=
=
1000)0(
04,0'
y
yy
xj yj
0,0 1000
0,2 1008,0321
0,4 1016,1287
0,6 1024,2903
I – Erros
I.1 – Tipos de erros
I.2 – Exatidão ( precisão
I.3 – Erros durante a descrição dos problemas
I.3.1 – Erros na fase de modelagem
I.3.2 – Erros na fase de resolução
I.4 – Propagação de erros
I.5 – Aritmética de ponto flutuante
II – Resolução Numérica de Sistemas Lineares
II.1 – Definições
II.2 – Métodos diretos
II.2.1 – Método de Eliminação de Gauss
II.2.1.1 – Estratégia de pivoteamento parcial
II.2.1.2 – Estratégia de pivoteamento completo
II.2.2 – Método de Jordam
II.3 – Métodos Iterativos
II.3.1 – Introdução
II.3.2 – Testes de parada
II.3.3 – Método de Jacobi
II.3.4 – Método de Gauss-Seidel
II.3.5 – Convergência dos métodos iterativos
II.3.5.1 – Critério das linhas
II.3.5.2 – Critério das colunas
II.3.5.3 – Critério de Sassenfeld
III – Cálculo Numérico de Raízes de Equações
III.1 – Introdução
III.2 – Isolamento de raízes
III.3 – Refinamento
III.3.1 – Critérios de parada
III.3.2 – Método da bissecção
III.3.3 – Método da posição falsa
III.3.4 – Método da posição falsa modificado
III.3.5 – Método iterativo linear (MIL)
III.3.6 – Método de Newton-Raphson (N-R)
III.3.7 – Método da secante
IV – Interpolação
IV.1 – Introdução
IV.2 – Interpolação polinomial
IV.3 – Formas de obtenção do polinômio interpolador
IV.3.1 – Resolução do sistema linear
IV.3.2 – Forma de Lagrange
IV.3.3 – Forma de Newton
IV.3.4 – Forma de Newton-Gregory
IV.3.5 – Erro na interpolação
V – Integração Numérica
V.1 – Introdução
V.2 – Fórmulas de Newton-Cotes
V.2.1 – Regra dos retângulos
V.2.2 – Regra dos trapézios
V.2.2.1 – Fórmula simples
V.2.2.2 – Erro de trucamento da fórmula simples
V.2.2.3 – Fórmula composta
V.2.2.4 – Erro de truncamento da forma composta
V.2.3 – Primeira regra de Simpson
V.2.3.1 – Fórmula simples
V.2.3.2 – Erro de truncamento da fórmula simples
V.2.3.3 – Fórmula composta
V.2.3.4 – Erro de trucamento da formula composta
V.2.4 – Segunda regra de Simpson
V.2.4.1 – Fórmula simples
V.2.4.2 – Erro de truncamento da fórmula simples
V.2.4.3 – Fórmula composta
V.2.4.4 – Erro de truncamento da fórmula composta
V.2.5 – Extrapolação de Richardson
V.2.5.1 – Extrapolação de Richardson para a regra dos trapézios
V.2.5.2 – Extrapolação de Richardson para as regras de Simpson
V.3 – Fórmulas de Quadratura Gaussiana
VI – Resolução Numérica de equações diferenciais ordinárias
VI.1 – Introdução
VI.2 – Método de Euler
VI.3 – Métodos de Runge-Kutta
VI.3.1 – Métodos de Runge-Kutta de 1ª ordem
VI.3.2 – Métodos de Runge-Kutta de 2ª ordem
VI.3.3 – Métodos de Runge-Kutta de 3ª e 4ª ordens
VI.4 – Outros métodos de resolução numérica de EDO
VI.4.1 – Método de Adams-Bashforth de passo dois
VI.4.2 – Método de Adams-Bashforth de passo quatro