Вы находитесь на странице: 1из 12

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. 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 , . . . ,

0 = 0 1 .

(1.3)

constituindo seu P.V.I.


Assim como para equaes de 1 ordem, deseja-se encontrar a funo (), suficientemente derivvel, sendo esta soluo existente e nica para o seu respectivo P.V.I.
1

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 sistema de equaes de 1 ordem, atravs de uma mudana de varivel conveniente. Para exemplificar, 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 = 2
2 = , ,
1 0 = 1 0
2 0 = 2 0

(1.5)

Vale ressaltar que a nomenclatura das variveis pode ser diferente das usualmente adotas 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 equaes 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:
2

= 1 +

= 1, 2, , .

(2.1)

=1

onde os coeficientes so calculados por:


(2.2)

1 = ( , )
1

= ( + , +

(2.3)

=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 Modificado, mtodo de Heun entre outros. Neste trabalho ser realizado o mtodo de Euler Modificado 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 = ( , )

(2.2)

1 = ( + , + 1 )

(2.4)

+1 = +

+ 1
2 1

(2.5)

Pode-se notar que definimos a nomenclatura das variveis de modo ligeiramente distinto 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):

Soluo aproximada
pelo mtodo de Euler
Modificado
Soluo exata

+1

+1

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

soluo

exata

da

equao

diferencial

:
4

1
[ 1 + 2 + 3 ]
4

(3.2)

deve-se mostrar que a soluo obtida pelo mtodo numrico converge para a soluo analtica, quando 0.
E, finalmente, para cada , deve-se calcular a ordem de convergncia do mtodo, dada
por:
= log

/log
(2),
+1

(3.3)

para = 0, 1, 2, onde:

em que

=1[

]
(3.4)

=1

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');

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');
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:

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

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).
f(x(j))

x(j)
0
0,0125
0,025
0,0375
0,05
0,0625
0,075
0,0875
0,1
0,1125
0,125
0,1375
0,15
0,1625
0,175

h=0,1

h=0,05

h=0,025

h=0,0125

exato

1
1
1,000317
1,000954
1,001913
1,003194
1,004802
1,006738
1,009005
1,011604
1,01454
1,017813
1,021427
1,025385
1,02969

1
1,000157
1,000628
1,001415
1,002522
1,003949
1,005699
1,007775
1,010179
1,012914
1,015982
1,019385
1,023127
1,027211
1,031638

1
1

1,001289
1,003885

1,005319

1,007804
1,013065

1,016094

1,019689
1,027697

0,1875
0,2
0,2125
0,225
0,2375
0,25
0,2625
0,275
0,2875
0,3
0,3125
0,325
0,3375
0,35
0,3625
0,375
0,3875
0,4
0,4125
0,425
0,4375
0,45
0,4625
0,475
0,4875
0,5
0,5125
0,525
0,5375
0,55
0,5625
0,575
0,5875
0,6
0,6125
0,625
0,6375
0,65
0,6625
0,675
0,6875
0,7
0,7125
0,725
0,7375
0,75
0,7625

1,022602

1,032486

1,037113
1,047959

1,054674

1,060263
1,07405

1,069024

1,082863

1,089349
1,106191

1,117279

1,124607
1,144629

1,14086

1,158173

1,166292
1,189633

1,205822

1,214689
1,241499

1,24011

1,26053

1,270105
1,300549

1,322627

1,332877
1,367135

1,369209

1,392473

1,403371
1,441636

1,47046

1,481983
1,524465

1,531068

1,55701

1,569139
1,616064

1,652579

1,665301

1,034344
1,03935
1,044713
1,050434
1,056517
1,062966
1,069784
1,076974
1,084541
1,092488
1,100818
1,109537
1,118647
1,128152
1,138058
1,148369
1,159088
1,17022
1,181771
1,193744
1,206144
1,218977
1,232247
1,24596
1,260121
1,274734
1,289807
1,305343
1,321349
1,337831
1,354794
1,372245
1,39019
1,408635
1,427586
1,44705
1,467034
1,487544
1,508587
1,530171
1,552302
1,574988
1,598236
1,622053
1,646449
1,671429
1,697003

1,036413
1,041539
1,047018
1,052854
1,05905
1,06561
1,072537
1,079835
1,087507
1,095557
1,10399
1,112808
1,122017
1,13162
1,141621
1,152026
1,162837
1,174061
1,185701
1,197763
1,210251
1,223169
1,236524
1,250321
1,264564
1,279259
1,294411
1,310027
1,326111
1,34267
1,35971
1,377236
1,395256
1,413774
1,432798
1,452334
1,47239
1,49297
1,514084
1,535737
1,557937
1,580691
1,604006
1,627891
1,652353
1,6774
1,70304

0,775
0,7875
0,8
0,8125
0,825
0,8375
0,85
0,8625
0,875
0,8875
0,9
0,9125
0,925
0,9375
0,95
0,9625
0,975
0,9875
1

1,716913
1,729117

1,75766

1,770965
1,827525

1,87278

1,886664
1,948454

1,96736

1,998509

2,012971
2,080292

2,135456

2,150499
2,223674

2,250432

2,284274

2,299905

1,723178
1,749964
1,777367
1,805397
1,834062
1,863372
1,893336
1,923962
1,95526
1,987239
2,01991
2,053282
2,087365
2,122169
2,157705
2,193984
2,231015
2,26881
2,30738

1,72928
1,75613
1,783598
1,811693
1,840422
1,869796
1,899823
1,930512
1,961873
1,993916
2,026649
2,060084
2,09423
2,129097
2,164695
2,201036
2,23813
2,275988
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 decrescentes valores de , os respectivos erros cometidos, bem como a ordem de convergncia calculada, dada por .
Tabela 4.2.: Valores de e os respectivos erros e ordens de convergncia calculados.

1,0000E-01
5,0000E-02
2,5000E-02
1,2500E-02
6,2500E-03
3,1250E-03
1,5625E-03
7,8125E-04
3,9063E-04
1,9531E-04

2,8300E-02
1,3500E-02
6,5000E-03
3,2000E-03
1,6000E-03
7,9738E-04
3,9796E-04
1,9880E-04
9,9354E-05
4,9666E-05

1,0680
1,0540
1,0220
1,0000
1,0050
1,0020
1,0000
1,0010
1,0000
1,0030
9

9,7656E-05

2,4830E-05

Note que, para valores de cada vez menores, temos erros cometidos cada vez menores, 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 slidas coloridas).

(a)

(b)

(c)

10

Figura 4.2.: Zoom nos grficos gerados pela soluo exata e solues numricas. (a) Destaca o incio do intervalo. (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, respectivamente, 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 decresciam.
possvel concluir que de suma importncia conhecer o funcionamento de um Mtodo Numrico, uma vez que muitos problemas de engenharia e cincias envolvam modelagens 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 respostas 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.

11

Вам также может понравиться