8
RELATÓRIO 4 IM253 – MÉTODOS NUMÉRICOS em FENÔMENOS de TRANSPORTE Método de Euler

Relatorio4 Metodo Euler

Embed Size (px)

DESCRIPTION

Metodo de EulerLinguagem Cmétodo numérico

Citation preview

  • RELATRIO 4

    IM253 MTODOS NUMRICOS em FENMENOS de TRANSPORTE

    Mtodo de Euler

  • 1. Objetivo Este trabalho tem como objetivo desenvolver um cdigo com para o Mtodo de Euler. Para tal, ser

    testado dois exemplos de funes retirados do livro texto do curso Anlise Numrica (Richard L.

    Burden e J.Douglas Faires). Sendo eles:

    Funo 1: y(t )=(t+1)2 - 0,5et

    Funo 2 : y(t)=-1/t

    2. Introduo

    Interpolao

    O mtodo de Euler, tambm conhecido como mtodo da reta secante, um dos mtodos mais antigos

    que se conhece para a soluo de equaes diferenciais ordinrias, porm raramente utilizada.

    Problemas prticos no devem ser resolvidos com o mtodo de Euler. Existem outros mtodos que

    proporcionam resultados com uma melhor preciso e estabilidade se comparados ao mtodo de Euler

    para o mesmo passo.

    Seja uma funo

    = (, ) , com a condio de contorno y = yn quando x = xn . Da Figura 1,

    observa-se que o valor de yn+1 , em x = xn+1, dado por:

    +1 = + (1.1)

    Do clculo, pode-se escrever que:

    =

    (1.2)

    Da equao (1.2), encontra-se uma aproximao para:

    (1.3)

    Das equaes (1.1) e (1.3), encontra-se:

    yn+1=yn+(xn+1-xn) f(xn,yn) (1.4)

    Na Figura 1, observa-se que quanto menor o valor da diferena entre xn+1 e xn (desprezando os erros

    causados pela representao finita dos nmeros pelos computadores), menor o erro da estimativa para

    yn+1. Todavia, o nmero de computaes para um intervalo aumenta medida que a diferena entre

    xn+1e xn reduzida. Define-se o passo h como sendo igual a:

    h=xn+1-xn (1.5)

    Usando a equao (1.5) nas equaes (1.5) e (1.4), tem-se:

    xn+1=xn+h (1.6)

    e

    yn+1=yn+hf(xn,yn) (1.7)

    Sendo a equao completa, levando em consierao o erro do mtodo igual a:

  • +1 = + (, ) +2

    2() (1.8)

    A equao (1.8) conhecida como frmula de Euler. A soluo de uma equao diferencial pelo

    mtodo de Euler realizada pelo uso recursivo das equaes (1.6) e (1.7), usando as condies de

    contorno x0 e y0 . O erro no mtodo de Euler da ordem de O (h2 ).

    Figura 1: Ilustrao do mtodo de Euler.

    3. Algoritmos 1) INICIO

    2) ENTRADA extremidades a,b; nmero inteiro N; condio inicial alfa;

    3) FAA h=(b-a)/N;

    t=a;

    w=alfa;

    4)PARA i variando de 1 at N, execute os passos

    5) t=a+ih

    6) PARE

    7) SADA aproximao de w e y nos (N+1) valores de t

    4. Programa C

    Mtodo de Euler

    #include

    #include

    #include

    // Implementao Mtodo de Euler

    // Autor: Renan Sadao Kuroda Rodrigues

    // Disciplina: Mtodos Numricos em Fenmenos de Transporte

    // Funo de aproximao pelo mtodo de Euler

    float f (float x, float v)

    {

    return 1/(v*v)-(x/v)-(x*x);

    }

  • // Funo da soluo exata

    float g (float u)

    {

    return -1/u;

    }

    int main()

    {

    // n: nmero de inteiro N

    // x[]: vetor para armazenar os valores de x

    // a e b: extremidades

    // h[]: tamanho do passo

    // alpha[]: condio inicial

    int n,i;

    float a,b,c,h,alfa;

    char passo;

    // Inserir os quantos pontos sero utilizados

    printf("\n Metodo de Euler \n");

    printf("\n Digite o intervalo a e b (ex. [0;5] = digite 0 5): ");

    scanf("%f %f",&a,&b);

    printf("Digite o numero de pontos da malha: ");

    scanf("%d",&n);

    printf("Digite condicao inicial: ");

    scanf("%f",&alfa);

    // Cria um vetor para os valores dos pontos

    float w[n],t[n],alpha[n],v[n],j[n],err[n];

    // Inicializa o passo h, tempo t0 e w0

    h=(b-a)/n;

    t[0]=a;

    w[0]=alfa;

    // Lao formar o tempo

    for (i=0; i

  • {

    printf(" %f %f %f %f\n", t[i],w[i],j[i],err[i]);

    }

    return 0;

    }

    5. Resultados e Discurses Para a resoluo da aproximao pelo mtodo de Euler, foi realizado primeiramente uma tabela em

    EXCEL para verificar a exatido do cdigo. As tabelas 1 e 2 apresentam os valores do nmero de

    pontos, o tempo, os valores da aproximao w e wi, sendo este referente ao tempo t+1, e o valor real

    da funo y.

    Tabela 1: Anlise Numrica do problema 1.

    N t w wi y

    0 0 0,50000000 0,80000000 0,5

    1 0,2 0,80000000 1,15200000 0,829299

    2 0,4 1,15200000 1,55040000 1,214088

    3 0,6 1,55040000 1,98848000 1,648941

    4 0,8 1,98848000 2,45817600 2,12723

    5 1 2,45817600 2,94981120 2,640859

    6 1,2 2,94981120 3,45177344 3,179942

    7 1,4 3,45177344 3,95012813 3,7324

    8 1,6 3,95012813 4,42815375 4,283484

    9 1,8 4,42815375 4,86578450 4,815176

    10 2 4,86578450 5,23894141 5,305472

    O grfico 1 demostra como a curva gerada pela aproximao do mtodo se distncia medida que o

    tempo avana. Segundo Richard Burden, o erro aumenta ligeiramente conforme o valor de t aumenta,

    devido ao truncamento no erro de segundo grau da equao diferencial (1.8)

    Grfico 2: Grfico comparativo soluo exta e por mtodo de Euler para y(t )=(t+1)2 - 0,5et.

    0,00000000

    1,00000000

    2,00000000

    3,00000000

    4,00000000

    5,00000000

    6,00000000

    0 1 2 3

    Y

    tempo t

    Y(t)=(t+1)2 - 0,5et

    Soluo Exata

    Aproximao porMtodo de Euler

  • As figuras 3,4 e 5 demonstram como o tamanho do passo h est relacionado com o erro do mtodo.

    Conforme o passo aumentando, notou-se uma melhora no erro real das funes. O que esperado,

    pois com o aumento do nmero de pontos da malha, a reta da secante tende a se aproximar mais das

    curvas da funo exata.

    Figura 3: Sada do cdigo Mtodo de Euler h=0,2.

    Tabela 2: Anlise Numrica para Y(t)=-1/t.

    N t w wi y

    0 1 -1,00000000 -0,95 -1

    1 1,05 -0,95 -0,9045354 -0,95238

    2 1,1 -0,9045354 -0,8630071 -0,90909

    3 1,15 -0,8630071 -0,8249169 -0,86957

    4 1,2 -0,8249169 -0,7898476 -0,83333

    5 1,25 -0,7898476 -0,7574466 -0,8

    6 1,3 -0,7574466 -0,7274145 -0,76923

    7 1,35 -0,7274145 -0,699495 -0,74074

    8 1,4 -0,699495 -0,6734675 -0,71429

    9 1,45 -0,6734675 -0,6491412 -0,68966

    10 1,5 -0,6491412 -0,6263501 -0,66667

    11 1,55 -0,6263501 -0,6049494 -0,64516

    12 1,6 -0,6049494 -0,5848116 -0,625

    13 1,65 -0,5848116 -0,5658248 -0,60606

    14 1,7 -0,5658248 -0,5478898 -0,58824

    15 1,75 -0,5478898 -0,5309184 -0,57143

    16 1,8 -0,5309184 -0,5148323 -0,55556

    17 1,85 -0,5148323 -0,4995613 -0,54054

    18 1,9 -0,4995613 -0,4850426 -0,52632

    19 1,95 -0,4850426 -0,4712197 -0,51282

    20 2 -0,4712197 -0,4580416 -0,5

  • Grfico 2: Grfico comparativo soluo exta e por mtodo de Euler para y(t)=-1/t

    Figura 4: Saida do cdigo

    6. Concluso Atravs da realizao deste trabalho, pode-se concluir que o mtodo de Euler um mtodo simples de

    ser implementado, porm pouco utilizado devido seu erro de segunda ordem O(h2). Alm disso,

    percebeu-se uma relao entre o tamanho do passo h e a reduo do erro real, no qual quanto menor

    for o passo de tempo h, menor ser o erro real.

    -1,20000000

    -1,00000000

    -0,80000000

    -0,60000000

    -0,40000000

    -0,20000000

    0,00000000

    0 0,5 1 1,5 2 2,5Y

    tempo t

    Y(t)=-1/t

    Soluo Exata

    Aproximao porMtodo de Euler

  • 7. Referncia [1] - Burden, Richard L. and Faires, J.Doulas - Analise numrica traduo 8aed norte americana. Ed

    Cengage Learning.

    [2] Guidi, Leonardo F. Material Graduo Pgina da disciplina "Noes de Clculo Numrico"

    MAT01186 (http://www.mat.ufrgs.br/~guidi/grad/MAT01169/calculo_numerico.pdf) Acessado em

    22/03/2015