Upload
ayrton-reis
View
229
Download
0
Embed Size (px)
DESCRIPTION
Métodos Numéricos
Citation preview
ESCOLA DE ENGENHARIA DE SO CARLOS
UNIVERSIDADE DE SO PAULO
SOLUO NUMRICA DE EQUAES DIFERENCIAIS ORDINRIAS
Atravs do mtodo de Euler modificado
Amanda Megumi Morita / 8549494
Ayrton dos Reis Silva / 8549521
caro Ostan / 8549897
So Carlos, 3 de dezembro de 2014.
1
1. INTRODUO
1.1. Equaes diferenciais de 1 ordem
Vrios problemas da rea de cincias e engenharia so formulados atravs de equaes
ou sistemas de equaes diferenciais. Como, usualmente, trata-se de equaes complicadas, o
uso de mtodos, a fim de se encontrar a soluo numrica de uma equao diferencial, faz-se
vivel. Equaes diferenciais de 1 ordem so usualmente definidas pela equao diferencial e
sua condio inicial, constituindo um problema de valor inicial (P.V.I.), como por exemplo:
= (,)
0 = 0 (1.1)
Onde uma funo real dada em termos de e , em que este, por sua vez, uma
funo de . A soluo deste P.V.I. fornecer uma funo (). Vale ressaltar que o interesse
reside no valor numrico da funo em certo ponto, pertencente a um intervalo [, ]. Definir
isto importante para compreenso do mtodo, discutido adiante.
O Teorema da Existncia e Unicidade garante que h uma soluo, sendo esta nica,
para o P.V.I. dado. A prova foge ao escopo do trabalho, mas pode ser encontradas em livros
sobre o assunto, como, por exemplo, [Zill, 2001].
1.2. Equaes diferenciais de ordem superior
Neste trabalho, sero tratadas equaes diferenciais ordinrias, de ordem n, definidas
por:
() = (,, , , (1)) . (1.2)
onde uma funo real dada, a varivel independente, e uma funo dependente de
, assim como suas derivadas (em relao a ). Tal equao acompanhada das seguintes
condies iniciais:
0 = 0, (0) =
0
, . . . , 1 0 = 0 1 . (1.3)
constituindo seu P.V.I.
Assim como para equaes de 1 ordem, deseja-se encontrar a funo (), suficien-
temente derivvel, sendo esta soluo existente e nica para o seu respectivo P.V.I.
2
1.3. Transformao de um P.V.I. de ordem superior em um P.V.I. de 1 ordem
Para facilitar a soluo de um P.V.I. de ordem superior, possvel reduzi-lo a um sis-
tema de equaes de 1 ordem, atravs de uma mudana de varivel conveniente. Para exem-
plificar, ser feita a mudana de varivel de uma equao diferencial de 2 ordem. (O P.V.I.
que ser resolvido neste trabalho de 2 ordem, sendo, pois, pouco prtico exemplificarmos a
mudana para ordens mais elevadas):
Seja o P.V.I. inicial:
= (, , )
0 = 0 0 = 0
(1.4)
realizando as seguintes mudanas de variveis:
= 1 = 2
obtm-se o novo P.V.I. de 1 ordem:
1 = 22 = ,,
1 0 = 102 0 = 20
(1.5)
Vale ressaltar que a nomenclatura das variveis pode ser diferente das usualmente ado-
tas nas referncias bibliogrficas. No entanto, o processo , essencialmente, o mesmo.
Entre vrios mtodos numricos que podem ser aplicados para encontrar a soluo dos
P.V.I.s mostrados, este trabalho tem como intuito resolv-los atravs do Mtodo de Euler
Modificado, que um mtodo de Runge-Kutta de 2 ordem.
2. MTODO NUMRICO
2.1. Mtodos de Runge Kutta
Os mtodos de Runge-Kutta (mtodos explcitos de 1-passo) para a soluo de equa-
es diferenciais ordinrias consistem em calcular valores aproximados 1,2, , , numa
malha = + , = ( )/ , a partir do valor inicial 0 = (0). Assim, de forma
geral, os valores de +1 so calculados recursivamente pela seguinte frmula:
3
(2.1)
(2.2)
(2.3)
(2.2)
(2.5)
(2.4)
= 1 +
=1
, = 1, 2, ,.
onde os coeficientes so calculados por:
1 = ( , )
= ( + , +
1
=1
)
Tal que os valores , e , com 1 1 e 1 , so parmetros a
serem escolhidos de modo a utilizar o mtodo mais preciso possvel, sendo que determina o
nmero de estgios do mtodo.
Alguns dos mtodos de Runge-Kutta so: mtodo de Euler, mtodo de Euler Modifi-
cado, mtodo de Heun entre outros. Neste trabalho ser realizado o mtodo de Euler Modifi-
cado para equaes diferenciais de ordem 2.
2.2. Mtodo de Euler Modificado
Um dos mtodos de Runge-Kutta de segunda ordem mais utilizados o mtodo de
Euler Modificado cujas iteraes so calculadas da seguinte forma:
1 = ( , )
1 = ( + , + 1)
+1 = +
2 1 + 1
Pode-se notar que definimos a nomenclatura das variveis de modo ligeiramente dis-
tinto da forma geral do mtodo de Runge-Kutta. No entanto, notrio que o mtodo no ser
distinto devido a essa mudana.
possvel visualizar geometricamente como ocorre a aproximao da soluo exata,
atravs do mtodo de Euler Modificado, pela da figura (2.1):
4
Figura 2.1.: Visualizao geomtrica do mtodo de Euler Modificado para obteno de solues numricas de
P.V.I.
3. ESPECIFICAES DO PROBLEMA
Uma vez discutidos os conceitos que embasam este trabalho, ser enunciado o P.V.I. a
ser resolvido, bem como o programa implementado para sua soluo, discutindo possveis
adequaes que foram feitas ao longo da implementao.
3.1. Enunciado
Primeiramente, deve-se resolver o seguinte P.V.I de 2 ordem:
= + , [0, 1]
0 = 1
0 = 0
(3.1)
atravs do Mtodo de Euler Modificado, utilizando-se valores de , respectivamente, iguais a
= 0.1/(2), = 0, 1, 2, 3.
A seguir, sabendo que a soluo exata da equao diferencial :
Soluo aproximada
pelo mtodo de Euler
Modificado
+1
+1
Soluo exata
5
(3.2)
(3.3)
(3.4)
=1
4[ 1 + 2 + 3]
deve-se mostrar que a soluo obtida pelo mtodo numrico converge para a soluo analti-
ca, quando 0.
E, finalmente, para cada , deve-se calcular a ordem de convergncia do mtodo, dada
por:
= log +1
/log(2),
para = 0, 1, 2, onde:
=
[ ]=1
=1
em que a soluo obtida pelo mtodo numrico.
4. APLICAO DO MTODO E RESULTADOS
4.1. Cdigo implementado
O cdigo segue abaixo e foi feito utilizando-se o MatLab devido facilidade que se
encontra para lidar com problemas matemticos neste software.
clearall;
disp('Soluo de uma EDO de 2 ordem pelo mtodo de Euler Modificado');
h=input('\nEntre com h: ');
a = 0; b = 1;
j = 1; E_numerador = 0; E_denominador = 0;
f1 = inline('0*x+0*z1+z2','x','z1','z2'); f2 = inline('exp(x)+z1+0*z2','x','z1','z2'); z_exato = inline('0.25*(exp(x)*(1+2*x)+3*exp(-x))','x');
6
Diagrama 4.1.: Cdigo do programa que resolve o P.V.I. (3.1) com auxlio do mtodo de Euler Modificado.
Para verificar a validade do cdigo, entrou-se com o seguinte P.V.I.:
= , 0, 1
0 = 0
0 = 1
cuja soluo exata do PVI : = (). A entrada da funo faz-se atravs do prprio
cdigo-fonte, enquanto o espaamento especificado pelo usurio do cdigo. A sada do
programa para este P.V.I. foi:
z1(1)=1; z2(1)=0;
for x=a:h:(b-h)
K1 = f1(x,z1(j),z2(j)); K2 = f2(x,z1(j),z2(j));
L1 = f1(x+h,z1(j)+h*K1,z2(j)+h*K1); L2 = f2(x+h,z1(j)+h*K2,z2(j)+h*K2);
z1(j+1) = z1(j) +(h/2)*(K1+L1); z2(j+1) = z2(j) + (h/2)*(K2+L2);
Z1 = z_exato(x+h); E_numerador = E_numerador + (Z1 - z1(j+1))^2; E_denominador = E_denominador + Z1^2;
j = j+1; end
E = sqrt(E_numerador/E_denominador);
fprintf('\nErro relativo:\n'); disp(E);
filename = 'planilha_resultados.xlsx'; xlswrite(filename, z1');
fprintf('\n"planilha_resultados" foi salva.\n');
7
Diagrama 4.2.: Sada do programa para o P.V.I. (3.x).
A soluo exata, facilmente calculvel, : (1) = 0,8415. Pode-se observar que o erro
reside na quarta casa decimal, o que garante a eficcia do programa implementado.
4.2. Sadas do programa e interpretaes dos resultados
O intuito realizar o mtodo de Euler Modificado para diversos valores de . Como,
para cada vez menores, o nmero de iteraes tambm aumenta, a quantidade de resultados
finais volumosa, e para organiz-los fez-se com que o MatLab criasse um planilha no Excel
e transportasse para l, em forma de tabela, os resultados, os quais podem ser vistos na Tabela
(4.3). Notoriamente, o interesse reside apenas no valor final; no entanto, julgou-se importante
mostrar os resultados intermedirios, para que fosse possvel comparar os diversos valores
intermedirios entre si.
Tabela 4.1.: Resultados das iteraes dos Mtodo de Euler para o P.V.I. (3.1). (Nota: a tabela estende-se desta
pgina at a 9).
x(j)
f(x(j))
h=0,1 h=0,05 h=0,025 h=0,0125 exato
0 1 1 1 1 1
0,0125
1 1,000157
0,025
1 1,000317 1,000628
0,0375
1,000954 1,001415
0,05
1 1,001289 1,001913 1,002522
0,0625
1,003194 1,003949
0,075
1,003885 1,004802 1,005699
0,0875
1,006738 1,007775
0,1 1 1,005319 1,007804 1,009005 1,010179
0,1125
1,011604 1,012914
0,125
1,013065 1,01454 1,015982
0,1375
1,017813 1,019385
0,15
1,016094 1,019689 1,021427 1,023127
0,1625
1,025385 1,027211
0,175
1,027697 1,02969 1,031638
Soluo de uma EDO de 2 ordem pelo mtodo de Euler Modificado
Entre com h: 0.001
Erro relativo: 6.9615e-04
y(1)= -0.8416
8
0,1875
1,034344 1,036413
0,2 1,022602 1,032486 1,037113 1,03935 1,041539
0,2125
1,044713 1,047018
0,225
1,047959 1,050434 1,052854
0,2375
1,056517 1,05905
0,25
1,054674 1,060263 1,062966 1,06561
0,2625
1,069784 1,072537
0,275
1,07405 1,076974 1,079835
0,2875
1,084541 1,087507
0,3 1,069024 1,082863 1,089349 1,092488 1,095557
0,3125
1,100818 1,10399
0,325
1,106191 1,109537 1,112808
0,3375
1,118647 1,122017
0,35
1,117279 1,124607 1,128152 1,13162
0,3625
1,138058 1,141621
0,375
1,144629 1,148369 1,152026
0,3875
1,159088 1,162837
0,4 1,14086 1,158173 1,166292 1,17022 1,174061
0,4125
1,181771 1,185701
0,425
1,189633 1,193744 1,197763
0,4375
1,206144 1,210251
0,45
1,205822 1,214689 1,218977 1,223169
0,4625
1,232247 1,236524
0,475
1,241499 1,24596 1,250321
0,4875
1,260121 1,264564
0,5 1,24011 1,26053 1,270105 1,274734 1,279259
0,5125
1,289807 1,294411
0,525
1,300549 1,305343 1,310027
0,5375
1,321349 1,326111
0,55
1,322627 1,332877 1,337831 1,34267
0,5625
1,354794 1,35971
0,575
1,367135 1,372245 1,377236
0,5875
1,39019 1,395256
0,6 1,369209 1,392473 1,403371 1,408635 1,413774
0,6125
1,427586 1,432798
0,625
1,441636 1,44705 1,452334
0,6375
1,467034 1,47239
0,65
1,47046 1,481983 1,487544 1,49297
0,6625
1,508587 1,514084
0,675
1,524465 1,530171 1,535737
0,6875
1,552302 1,557937
0,7 1,531068 1,55701 1,569139 1,574988 1,580691
0,7125
1,598236 1,604006
0,725
1,616064 1,622053 1,627891
0,7375
1,646449 1,652353
0,75
1,652579 1,665301 1,671429 1,6774
0,7625
1,697003 1,70304
9
0,775
1,716913 1,723178 1,72928
0,7875
1,749964 1,75613
0,8 1,729117 1,75766 1,770965 1,777367 1,783598
0,8125
1,805397 1,811693
0,825
1,827525 1,834062 1,840422
0,8375
1,863372 1,869796
0,85
1,87278 1,886664 1,893336 1,899823
0,8625
1,923962 1,930512
0,875
1,948454 1,95526 1,961873
0,8875
1,987239 1,993916
0,9 1,96736 1,998509 2,012971 2,01991 2,026649
0,9125
2,053282 2,060084
0,925
2,080292 2,087365 2,09423
0,9375
2,122169 2,129097
0,95
2,135456 2,150499 2,157705 2,164695
0,9625
2,193984 2,201036
0,975
2,223674 2,231015 2,23813
0,9875
2,26881 2,275988
1 2,250432 2,284274 2,299905 2,30738 2,314621
Alm da soluo numrica, foram pedidos: uma anlise do erro cometido com cada
tomado; uma demonstrao de que, para 0 observa-se que a soluo numrica tende
analtica, ou seja, 0; e, finalmente, a ordem de convergncia para este mtodo, dado
pela frmula (3.3). Para tal, construiu-se a Tabela (4.2), na qual se encontram, para decrescen-
tes valores de , os respectivos erros cometidos, bem como a ordem de convergncia calcula-
da, dada por .
Tabela 4.2.: Valores de e os respectivos erros e ordens de convergncia calculados.
1,0000E-01 2,8300E-02 1,0680
5,0000E-02 1,3500E-02 1,0540
2,5000E-02 6,5000E-03 1,0220
1,2500E-02 3,2000E-03 1,0000
6,2500E-03 1,6000E-03 1,0050
3,1250E-03 7,9738E-04 1,0020
1,5625E-03 3,9796E-04 1,0000
7,8125E-04 1,9880E-04 1,0010
3,9063E-04 9,9354E-05 1,0000
1,9531E-04 4,9666E-05 1,0030
10
9,7656E-05 2,4830E-05
Note que, para valores de cada vez menores, temos erros cometidos cada vez meno-
res, o que prova numericamente que a soluo tender exata, quando 0.
As solues numricas calculadas com os diferentes valores de podem ser vistas
num grfico, comparando-se as curvas geradas pelo mtodo com a curva gerada pela soluo
exata (3.2). Tais curvas so vistas nas Figuras (4.1) e (4.2).
Figura 4.1.: Grficos gerados pela soluo exata (linha tracejada preta), e pelas solues numricas (linhas sli-
das coloridas).
(a) (b) (c)
11
Figura 4.2.: Zoom nos grficos gerados pela soluo exata e solues numricas. (a) Destaca o incio do interva-
lo. (b) Destaca o meio do intervalo, ao passo que (c) destaca o fim do intervalo.
Nas Figuras (4.1) e (4.2), a linha tracejada preta mostra o grfico gerado pela soluo
exata do P.V.I. (equao 3.1). As linhas magenta, ciano, azul, e vermelho, mostra, respecti-
vamente, os grficos gerados pelas solues numricas dadas pelo Mtodo para = 0.1;
= 0,1/2; = 0,1/4; e = 0,1/8.
Uma anlise das Tabelas (4.1) e (4.2), bem como das Figuras (4.1) e (4.2), permite
concluir de imediato que, quanto menor for o valor de , mais prximo se est da soluo
exata.
5. CONCLUSES
O mtodo de Euler Modificado (seo 2.2) mostrou-se eficiente na resoluo do P.V.I.
proposto (seo 3.1), e o programa implementado aplicou o mtodo corretamente. Mesmo
para valores de relativamente grandes, o erro cometido j era da ordem de 102, e de fato,
conforme esperado, observou-se que este erro tendia a zero, conforme os valores de decres-
ciam.
possvel concluir que de suma importncia conhecer o funcionamento de um M-
todo Numrico, uma vez que muitos problemas de engenharia e cincias envolvam modela-
gens matemticas que resultam em P.V.I.s complexos e, uma vez conhecido o mtodo mais
apropriado, necessrio saber como implement-lo, e, com auxilio computacional, obter res-
postas aproximadas cada vez mais prximas da soluo exata.
6. REFERNCIAS BIBLIOGRFICAS
1. D. G. Zill e M. R. Cullen, Equaes diferenciais Vol. 1, 3a Edio. So Paulo: Pearson
Makron Books, 2001.
2. FRANCO, N. M. B. Clculo Numrico. 1 Edio. Brasil: Pearson Education, 2006.