Buscar

Modelagem de Problemas de valor inicial

Prévia do material em texto

Métodos Analíticos e Computacionais 
 
 
Modelagem Numérica 
 
 
Capítulo III 
 
 
Resolução Numérica de Problemas de Valor Inicial e de Contorno 
 
 
III.1 – Diferenciação Numérica 
 
Dada uma função, cujo gráfico está representado na figura 1. Os pontos definidos 
pelos pares ordenados (x-h,f(x-h)), (x,f(x)) e (x+h,f(x+h)), são tão próximos quanto 
se queira de modo que "h", aqui denominado, especialmente, de passo, deverá ser 
um número pequeno. 
 
 
Figura 1 
 Assim, sendo IRIR :f  , e, h o passo, para se aproximar a primeira e a segunda 
derivada em "x" pode-se promover a expansão em séries de Taylor: 
. . .)x('''f
6
h
)x(''f
2
h
)x('f.h)x(f)hx(f
32

 (1)
 
e 
. . .)x('''f
6
h
)x(''f
2
h
)x('f.h)x(f)hx(f
32

 (2)
 
Resolvendo a primeira série em f’(x) obtém-se a diferença em avanço, que assume 
a forma: 
h
)x(f)hx(f
. . .)x('''f
6
h
)x(''f
2
h
h
)x(f)hx(f
)x('f
2 



 (3)
 
Tal aproximação é de primeira ordem, pois, o maior termo desprezado é O(h). 
Analogamente, resolvendo-se a segunda série em f’(x) resulta a diferença em 
atraso: 
h
)hx(f)x(f
. . .)x('''f
6
h
)x(''f
2
h
h
)hx(f)x(f
)x('f
2 



 (4)
 
Que também é de primeira ordem. 
 
Subtraindo-se a segunda série da primeira e resolvendo o resultado em f’(x) obtém-
se a equação da diferença centrada: 
h2
)hx(f)hx(f
. . .)x('''f
6
h
h2
)hx(f)hx(f
)x('f
2 



 (5)
 
que é de segunda ordem pois o maior termo desprezado é O(h2). 
Finalmente, adicionando as duas séries, e, resolvendo-se a expressão resultante em 
f"(x), obtém-se a equação da diferença centrada para a segunda derivada: 
2
)(
2
2
)()(2)(
 
. . .)(
12
)()(2)(
)(''
h
hxfxfhxf
xf
h
h
hxfxfhxf
xf IV





(6)
 
cuja precisão é também de segunda ordem. 
 
 
Problemas Propostos 
 
Exemplo 1: Aproxime numericamente a primeira derivada, em x = 1, utilizando o 
passo h = 0,01, da função real f(x) = e-2x, a partir da: a - ) Diferença em avanço; b - ) 
Diferença em atraso; e, c - ) Diferença centrada. 
Exemplo 2: Aproxime numericamente a segunda derivada da função do exemplo 1 
no mesmo ponto, e utilizando-se o mesmo passo. 
Exemplo 3: Avalie o erro cometido nos exemplos 1 e 2, comentando os resultados 
obtidos. 
Exemplo 4: Aproxime numericamente a primeira derivada, em x = 1, utilizando o 
passo h = 0,01, da função real f(x) = x-5, a partir da: a - ) Diferença em avanço; b - ) 
Diferença em atraso; e, c - ) Diferença centrada. 
Exemplo 5: Aproxime numericamente a segunda derivada da função do exemplo 4 
no mesmo ponto, e utilizando-se o mesmo passo. 
Exemplo 6: Avalie o erro cometido nos exemplos 4 e 5, comentando os resultados 
obtidos. 
 
 
III.2 Aplicações em Problemas de Valor Inicial 
 
Uma sistemática preliminar para a resolução numérica de problemas de valor inicial 
e de contorno consiste no emprego das versões numéricas das derivadas que 
constam da equação diferencial tratada no problema em análise. 
Seja, por exemplo, uma equação do tipo: 
0 Ay
dt
dy
 (7) 
Tal que y = f(t) e, em t = 0, y = f(0) = yo. 
Para sua resolução numérica podemos substituir a derivada dy/dt, pela versão: 
w
tfwtf
tf
)()(
)('

 (8) 
Resultando: 
0)(
)()(


 tAf
w
tfwtf
Ay
dt
dy
 (9) 
Tal expressão pode ser re-arrumada e assumir a forma: 
)()()( twAftfwtf 
 (10) 
E a seguir, sob a forma: 
)()()( tftwAfwtf 
 (11) 
E, finalmente: 
)()1()( tfwAwtf 
 (12) 
Em problemas práticos o que se deseja na maioria dos casos é o conhecimento do 
valor da função y = f(t), em alguns instantes discretos, t1, t2, . . tn-1, tn, figura 2, 
igualmente espaçados de um valor “w”. Tal valor pode ser adotado como passo da 
diferenciação, desde que atenda à precisão desejada. Se assim o for, uma vez 
conhecido o valor de y em t = 0, como acontece no presente exemplo, pode-se obter 
o valor de y nos demais instantes, mediante: 
01 )1()0()1()0()( ywAfwAwftf 
 (13) 
)()1()()( 112 tfwAwtftf 
 (14) 
)()1()()( 11   nnn tfwAwtftf
 (15) 
Tendo assim, desta forma, o problema devidamente resolvido. 
 
 
Figura 2 
 
 
Problemas Propostos 
 
Exemplo 7: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à equação 
diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 utilizando passo h 
= 0,01. 
Exemplo 8: Encontrar o valor da função y = f(x) em x = 0,02 que satisfaz à equação 
diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, utilizando passo 
h = 0,01. 
 
 
III.3 – Método de Euler 
 
Seja uma equação diferencial do tipo: 
)y,x(f
dx
dy
 
sendo y = F(x), figura 2, então pode-se adotar a notação: 
)b,a(f
dx
dy
by
ax


 
)()( aFay 
 
),(.)(.)(.)()()( bafway
dx
dy
way
dx
dy
waFwaywaF
by
axby
ax



 
Desde que "w" e "h" são números tão pequenos quanto convenha, e: 
22
hw  
é o passo da diferenciação. 
 
Figura 2 
Tratando-se de um problema de valor inicial e desejando-se o valor de “F(x)” em um 
ponto xp, então, toma-se o intervalo entre x = xo, para o qual F(xo) tem valor 
conhecido, e, x = xp e o subdivide-se em "n" subintervalos de amplitude "w" tal que: 
i1i
op
xx
n
xx
w 

 
 
e, consequentemente: 
iwxwxx oii 1
 
Assim: 
)y,x(f
xx
yy
dx
dy
oo
o1
o1
oyy
oxx





 
De modo que se yo = F(xo) então: 
),()()(),()()( 1111 oooooooo yxfxxxFyxfxxyyxF 
 
),()()(),()()( 111211112122 yxfxxxFyxfxxyyxF 
 
. 
. 
. 
),()()( 
),()()(
1111
1111




ppppp
ppppppp
yxfxxxF
yxfxxyyxF
 
e, uma vez que: 
wxx...xxxx 1pp12o1  
 
Obtém-se: 
),(.)(),(.)( 11 oooooo yxfwxFyxfwyyxF 
 
),(.)(),(.)( 11111122 yxfwxFyxfwyyxF 
 
. 
. 
. 
),(.)(),(.)( 111111   pppppppp yxfwxFyxfwyyxF 
A curva “F(x)” traçada a partir desses pontos é aproximada por uma série de 
segmentos de reta, figura 3, conduzindo a erros que serão tanto maiores quanto 
menor o total de subintervalos, de modo que a sistemática ora apresentada é de 
eficácia limitada. 
O valor da função em um ponto yi depende do valor de seus antecessores y1, y2, . . 
.,yi-1, assim como afeta seus sucessores yi+1, yi+2, yp, resultando em propagação de 
erros. 
O método será estável se os erros cometidos no início do processo, embora 
mantidos, não promoverem erros nos passos seguintes, sendo instável se, além dos 
erros transportados, causarem novos erros adiante, frequentemente muito maiores. 
 
Figura 3 
 
Problemas Propostos 
 
Exemplo 9: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à equação 
diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 utilizando passo w 
= 0,01, através do Método de Euler. 
Exemplo 10: Encontrar o valor da função y = f(x) em x = 0,02 que satisfazà 
equação diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, 
utilizando passo w = 0,01, através do Método de Euler. 
 
 
III.4 – Método de Euler Estendido 
 
Sejam as formas: 
111 ))((')()( yxxxFxFxF ooo  
e,
 
212112 ))((')()( yxxxFxFxF 
 
Da primeira iteração resulta valor preciso, pois, o valor correto da função solução em 
x = xo, F(x0), é dado como condição inicial, de modo que F’(x0) = f(xo,yo), também é 
calculável diretamente. 
O mesmo não se pode dizer da segunda iteração, pois, desconhecem-se os valores 
exatos de F(x1) e, consequentemente, de F’(x1) = f(x1,y1). 
Assim, para determinarem-se y2, y3, . . ., yn, restaria a alternativa de adoção da 
forma pouco exata: 
))(,( 11 iiiiii xxyxfyy  
 
A melhoria de qualidade de resultados poderia ser auferida se F(x1) for aproximada 
por uma série de Taylor. Desenvolvendo-a com três termos ter-se-ia: 
1
2
1
11
2
)(
)(''))((')()( y
xx
xFxxxFxFxF ooooo 


 
e: 
2
)()],([
))(,()()(
2
1
11
ooo
oooo
xx
dx
yxfd
xxyxfxFxF


 
de modo que: 
dx
yxfdw
yxfwxFxF ooooo
)],([
2
),(.)()(
2
1  
ou: 







dx
yxfdw
yxfwxFxF ooooo
)],([
2
),(.)()( 1 
Generalizando-se para um certo “i”, ter-se-ia a forma: 







dx
yxfdw
yxfwxFxF iiiiii
)],([
2
),(.)()( 1 
onde: 
i
i
yy
xx
ii
dx
yxdf
dx
yxfd



),()],([
 
Assim: 












i
i
yy
xx
iiii
dx
yxdfw
yxfwxFxF
)],(
2
),(.)()( 1 
Uma vez que “f” é função tanto de “x” quanto de “y” faz-se necessária a 
diferenciação total, que deve ser realizada na forma: 
dx
dy
y
)y,x(f
x
)y,x(f
dx
dy
y
)y,x(f
dx
dx
x
)y,x(f
dx
)y,x(df











 
A extensão da série para um número maior de termos exige diferenciação mais 
complexa, tornando o procedimento pouco prático. 
O método de Euler Padrão é equivalente a tomar-se a série até o termo de primeira 
derivada sendo conhecido como método de primeira ordem. A versão abordada 
nesta seção representa um método de segunda ordem. 
 
Problemas Propostos: 
 
Exemplo 11: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à 
equação diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 
utilizando passo w = 0,01, através do Método de Euler Estendido. 
Exemplo 12: Encontrar o valor da função y = f(x) em x = 0,02 que satisfaz à 
equação diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, 
utilizando passo w = 0,01, através do Método de Euler Estendido. 
 
 
III.5 – Método de Euler Modificado 
 
O método ora abordado utiliza-se do valor médio da derivada. Nele, o Método de 
Euler Padrão é utilizado para o cálculo do valor provisório y'i+1 da função em x = xi+1. 
O valor de y'i+1 assim calculado representa uma predição para o valor final definitivo 
yi+1. A partir do par (xi+1, y'i+1), obtém-se o valor da derivada f(xi+1, y'i+1), conforme a 
equação diferencial original, objeto de cálculo, e, daí a média aritmética das duas 
derivadas, f(xi,yi) e f(xi+1, y'i+1), que será utilizada para o cálculo do valor mais exato 
de yi+1. 
Em outras palavras, considerando-se a derivada a partir da equação diferencial 
objeto de resolução na forma: 
)y,x(f
dx
dy
 
 adota-se para preditor, em x = x1, o valor: 
),(.)())(,(' 11 ooooooo yxfwxFxxyxfyy 
 
de modo que: 
oyy
oxx
oo
dx
dy
)y,x(f



 
Para o y'1 assim calculado obtém-se: 
1'yy
1xx
11
dx
dy
)'y,x(f



 
Obtém-se a média aritmética das duas derivadas a partir de: 
2
)'y,x(f)y,x(f
2
dx
dy
dx
dy
M 11oo1
'yy
1xx
oyy
oxx
der








 
e, finalmente, obtém-se F(x1) = y1 a partir da equação: 
deroodero MwxFxxMyxF .)()()( 11 
 
Para a obtenção de y2 repete-se o mesmo procedimento, ou seja, adota-se para 
preditor em x = x2 o valor: 
),(.)())(,()(' 111121112 yxfwxFxxyxfxFy 
 
de modo que: 
1yy
1xx
11
dx
dy
)y,x(f



 
Para o y'2 assim calculado obtém-se: 
2'yy
2xx
22
dx
dy
)'y,x(f



 
Determina-se então a média aritmética das duas derivadas a partir de: 
2
)'y,x(f)y,x(f
2
dx
dy
dx
dy
M 221112
'yy
2xx
1yy
1xx
der








 
 
e, assim, obtém-se y2 = F(x2) a partir da equação: 
derder MwxFxxMyxF .)()()( 11212 
 
e, de um modo geral, para o ponto de ordem "i", adotar-se-ia em x = xi o preditor: 
),(.)())(,(' 1111111   iiiiiiiii yxfwxFxxyxfyy
 
De modo que: 
1
1
),( 11





i
i
yy
xxii dx
dy
yxf
 
Para o y'i assim calculado obtém-se: 
iyy
ixx
ii
dx
dy
)'y,x(f



 
E a média das duas derivadas a partir de: 
2
)'y,x(f)y,x(f
2
dx
dy
dx
dy
M ii1i1ii
'yy
ixx
1iyy
1ixx
der



 




 
e, finalmente, o valor definitivo de yi a partir da equação: 
deriiiderii MwxFxxMyxF .)()()( 111  
 
 
Problemas Propostos: 
 
Exemplo 13: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à 
equação diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 
utilizando passo w = 0,01, através do Método de Euler Modificado. 
Exemplo 14: Encontrar o valor da função y = f(x) em x = 0,02 que satisfaz à 
equação diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, 
utilizando passo w = 0,01, através do Método de Euler Modificado. 
 
 
III.5 – Método de Runge-Kutta 
 
Segundo este método o intervalo entre x = xo e x = xp é dividido em “n” 
subintervalos, e, em cada subintervalo assim obtido efetua-se a iteração: 
)kk2k2k(
6
1
)x(F 
)kk2k2k(
6
1
y)x(F'y
43211i
43211iii




 
)y,x(f.wk ii1 
 
)k
2
1
y,w
2
1
x(f.wk 1ii2 
 
)k
2
1
y,w
2
1
x(f.wk 2ii3 
 
)ky,wx(f.wk 3ii4 
 
A vantagem deste método sobre os de Euler é a melhor exatidão e a simplicidade 
para estruturação do algoritmo correspondente. Pode ser apresentado em versões 
de variadas ordens. A versão ora apresentada é a versão de quarta ordem. O 
estudante interessado em sua dedução pode recorrer a livros de métodos 
computacionais de autores tradicionais. Tal dedução será evitada neste texto, haja 
vista que o volume de transformações envolvido foge ao escopo deste trabalho. 
Como se pode observar, este método é de múltiplos passos uma vez que utiliza-se 
dos pontos xi, xi + w/2 e xi + w, muito embora seus passos intermediários sejam 
autogerados. 
 
Problemas Propostos: 
 
Exemplo 15: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à 
equação diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 
utilizando passo w = 0,01, através do Método de Runge-Kutta. 
Exemplo 16: Encontrar o valor da função y = f(x) em x = 0,02 que satisfaz à 
equação diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, 
utilizando passo w = 0,01, através do Método de Runge-Kutta. 
 
 
III.6 – Problemas Envolvendo Equações de Segunda Ordem 
 
O problema pode ser resolvido de maneira análoga àquela apresentada na seção 
III.2. Por outro lado, pode-se partir da filosofia adotada no método de Euler. Assim 
sendo, seja a equação diferencial: 
)y,x(h
dx
dy
a
dx
yd
12
2

 
Que pode ser reescrita sob a forma: 
)'y,y,x(g
dx
yd2
2

 
Podemos efetuar a seguinte mudança de variáveis: 
dx
dy
'yz 
 
E fazer: 
)z,y,x(fz
dx
dy

 
Consequentemente: 
2
2
dx
yd
dx
dz
'z 
 
Considerando-se: 
)z,y,x(g
dx
dz

 
De modo que fica estabelecido o sistema de duas equações de primeira ordem: 
)z,y,x(f
dx
dy

 
)z,y,x(g
dx
dz

 
E, finalmente, para concluir a resolução do problema, podemos usar qualquer dos métodos 
aplicados à resolução numérica de equações diferenciais apresentados nas seções 
anteriores. Adotando-se o método de Euler Padrão, por exemplo, resultariam as formas de 
recorrência: 
)zy,x(f.wyy i,iii1i 
 
)zy,x(g.wzz i,iii1i 
 
Optando-se por outro método adota-se filosofia semelhante. 
 
Introduzir Exercícios propostos.

Continue navegando