12
ESCOLA DE ENGENHARIA DE SÃO CARLOS UNIVERSIDADE DE SÃO PAULO SOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS ORDINÁRIAS Através do método de Euler modificado Amanda Megumi Morita / 8549494 Ayrton dos Reis Silva / 8549521 Ícaro Ostan / 8549897 São Carlos, 3 de dezembro de 2014.

Relatorio-metodos numéricos

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.