TEMA 3 EQUAÇÕES DIFERENCIAIS ORDINÁRIAS .Equações Diferenciais Ordinárias (EDO’s) Uma equação

  • View
    215

  • Download
    0

Embed Size (px)

Text of TEMA 3 EQUAÇÕES DIFERENCIAIS ORDINÁRIAS .Equações Diferenciais Ordinárias (EDO’s) Uma...

  • Modelao Numrica DEGGE

    1

    TEMA 3 EQUAES DIFERENCIAIS ORDINRIAS

    Os prximos temas iro abordar a resoluo de equaes diferenciais (EDs). Como o nome indica, uma equao diferencial uma equao que envolva uma (ou mais) derivadas de uma funo desconhecida. Uma grande parte dos problemas em fsica envolve este tipo de equaes: o movimento de fludos, circulao da corrente elctrica, propagao de ondas, fluxos de calor. No entanto as equaes diferenciais so fundamentais para compreender a dinmica de muitos outros sistemas, desde a biologia economia.

    Equaes Diferenciais Ordinrias (EDOs) Uma equao diferencial designa-se ordinria sempre que inclua apenas derivadas em ordem a uma nica varivel independente, como o caso dos exemplos apresentados a seguir. A ordem de uma EDO dada pela maior ordem das derivadas presentes. As EDOs so usadas numa grande variedade de problemas fsicos. Alguns exemplos incluem: Termodinmica Lei de Newton do Arrefecimento (arrefecimento de um corpo temperatura T, num ambiente a Ta, com um coeficiente de transferncia ) EDO 1ordem:

    = ( )

    Mecnica Deslocamento vertical de um corpo de massa m, com velocidade inicial v0, num campo gravtico com acelerao g EDO 2 ordem:

    2

    2=

    Esta EDO de 2 ordem pode ser decomposta num sistema de EDOs de 1 ordem:

    =

    =

  • Modelao Numrica DEGGE

    2

    Dinmica de populaes Variao do nmero de elementos de uma determinada populao (N), com taxa de crescimento r, inseridos num ecossistema com capacidade limite B EDO 1 ordem:

    = (1

    )

    Resoluo de EDs A resoluo analtica de equaes diferenciais, abordada em cursos de Clculo Diferencial, permite determinar uma funo a partir da sua equao diferencial, como por exemplo no caso da equao geral do movimento de um corpo que relaciona a velocidade (v) com a acelerao (a):

    =

    Integrando:

    = .

    0

    0

    Ento: = 0 ( 0)

    Tal como o exemplo anterior indica, a soluo da equao diferencial anterior admite uma infinidade de solues, i.e. v0 pode tomar qualquer valor. A figura abaixo exemplifica vrias solues possveis para a equao anterior, bem como as suas implicaes na trajetria de um corpo, lanado altura de 10m:

    Apesar de todas as rectas no grfico da esquerda corresponderem a solues possveis da equao, fundamental definir uma condio adicional (que pode ser o valor inicial ou outro) que permita identificar a soluo para um problema em particular Problema de Cauchy. Este problema pode ser enunciado do seguinte modo:

  • Modelao Numrica DEGGE

    3

    Pretende-se determinar y(t), com t pertencente ao intervalo de integrao, que satisfaa as seguintes condies:

    () = (, ())

    ( = 0) = 0 Este problema abordado em mais detalhe no Tema 4.

    Mtodos numricos diferenas finitas Em muitos problemas fsicos, em particular problemas no lineares, os mtodos analticos nem sempre permitem resolver EDs. , por isso, particularmente relevante o estudo de mtodos numricos que permitam resolver problemas diferenciais. A resoluo numrica de equaes diferenciais do tipo () = (, ()), com

    (0) = 0, pode ser feita atravs do clculo de valores aproximados de y num determinado conjunto (discreto) de valores de t. O valor de y(t0) corresponde ao declive da recta tangente funo no ponto t0. Pode-se ento assumir que, para um t1 suficientemente prximo de t0, o valor da soluo y(t) se encontra dentro de um intervalo de erro definido:

    Retirado de Boyce & Di-Prima, Elementary Differential Equations and Boundary Value Problems, 10th ed, 2012, Wiley.

    A transformao de uma ED de um domnio contnuo para um domnio discreto, e a sua transformao numa equao algbrica implica a sua discretizao. necessrio definir inicialmente o intervalo de discretizao t adequado bem como a malha de N pontos que define o domnio discreto de integrao:

    = 0 + , = {1, 2, ,} Definido o domnio, pode-se substituir as derivadas pela sua aproximao algbrica. O mtodo mais simples consiste na aproximao por diferenas finitas:

  • Modelao Numrica DEGGE

    4

    (

    )=

    = ( + ) ()

    Neste caso representam-se as diferenas finitas avanadas. Notar que esta expresso corresponde ao declive da recta tangente ao ponto y(a), tal como acima descrito. A escolha de um determinado mtodo numrico exige algumas consideraes prvias:

    a) Preciso relacionada com o erro de aproximao b) Estabilidade o erro estvel? c) Convergncia a soluo numrica converge para a soluo analtica

    quando 0? De forma genrica, podem ainda definir-se trs tipos de diferenas finitas: Avanadas

    ( + ) ()

    Retardadas

    () ( )

    Centradas

    ( + ) ( )

    2

  • Modelao Numrica DEGGE

    5

    Mtodo de Euler O Mtodo de Euler o mtodo mais antigo e simples para resolver EDOs, tendo sido desenvolvido por Euler por volta de 1768. tambm muitas vezes chamado de mtodo da recta tangente. Como o nome indica, consiste em aproximar em cada ponto, partindo de t0, o valor da funo y(t) atravs do ajuste sucessivo de rectas tangentes, cujo declive dado por y(t), tal como exemplificado na figura:

    Retirado de Boyce & Di-Prima, Elementary Differential Equations and Boundary Value Problems, 10th ed, 2012, Wiley.

    Partindo do ponto inicial conhecido (t0,y0) , pode-se calcular (t1,y1) como o ponto localizado sobre a recta tangente ao ponto inicial, para o instante t1. Conhecido o valor de y1, pode-se traar novamente uma recta tangente ao ponto que permitir determinar (t2,y2), e assim sucessivamente, i.e.:

    ( + ) = () + (, ()). ou, na forma discreta:

    +1 = + (, ). Em que h corresponde ao intervalo entre os pontos da malha (neste caso, t). O Mtodo de Euler pode ser implementado de forma genrica segundo os seguintes passos: 1 Definir f(t, y) 2 Atribuir valores iniciais a t0 e y0 3 Definir dt (t) e nmero de pontos do domnio de integrao N 4 Iteraes i de 1 at N-1 k1 = (, ) derivada no ponto i yi+1 = yi + dt*k1 clculo de y no ponto seguinte ti+1=ti + dt clculo de t no ponto seguinte 5 Output de t e y

  • Modelao Numrica DEGGE

    6

    Exerccio 3.1 Considere a seguinte EDO: (, ) = 3 + 2 Resolva numericamente a equao para uma malha de 5 pontos, com intervalo de 0.1 unidades, sabendo que t0=0 e y0=2 . = 0.1

    i=1 i=2 i=3 i=4 i=5

    Resoluo:

    Iterao t yi y yi+1 i = 1 0 2 6 (3x2+0) 2.6 (2+0.1x6) i= 2 0.1 2.60 7.81 3.38 i= 3 0.2 3.38 10.18 8.47 i= 4 0.3 8.47 25.5 11.02 i= 5 0.4 11.02 33.22 14.34

    Como possvel observar , para t=0.1 a soluo numrica diverge rapidamente em relao soluo real. Para t=0.01 a soluo numrica aproxima-se da soluo real, indicando a existncia de convergncia. No entanto, pode-se ver que o erro aumenta consideravelmente ao fim de poucas iteraes. Exemplo de cdigo em MATLAB para a resoluo do Exerccio 3.1:

    dt=.1; % intervalo de tempo N=5; % nmero de pontos da malha

    % inicializao dos vectores t e y t=zeros(1,N); y=zeros(1,N);

    % condies iniciais t0 e y0 t(1)=0; y(1)=2;

    % Mtodo de Euler for i=1:N-1 y(i+1)=y(i)+dt*(3*y(i)+t(i).^2); % para a EDO y'=3y+t^2 t(i+1)=t(i)+dt; end

  • Modelao Numrica DEGGE

    7

    Mtodo de Crank-Nicolson O mtodo de Crank-Nicolson assemelha-se ao Mtodo de Euler, no entanto utiliza-se um valor mdio de y(t, y), calculado nos dois pontos de cada intervalo t, como representado na figura:

    Retirado de Boyce & Di-Prima, Elementary Differential Equations and Boundary Value Problems, 10th ed, 2012, Wiley.

    Genericamente:

    +1 = +

    2((, ) + (+1, +1)) , = 0, 1, , 1

    ou

    = 1 +

    2((1, 1) + (, )) , = 1, 2, ,

    No entanto, +1 (ou no segundo exemplo) no conhecido precisamente o que se pretende calcular. Para o caso da EDO do Exerccio 3.1 ( (, ) = 3 + 2) tem-se:

    +1 = +

    2(3 +

    2 + 3+1 + +12 )

    Ento:

    +1 = [ +

    2(3 +

    2 + +12 )] (1

    3

    2)

    Exerccio 3.2 Resolva, para a mesma malha do Exerccio 3.1, a EDO (, ) = 3 + 2 usando o Mtodo de Crank-Nicolson (C-N). Exemplo de cdigo em MATLAB para a resoluo do Exerccio 3.2:

    % Continuao

    % Mtodo de Crank-Nicolson para a EDO y'=3y+t^2 y(1)=2; t(1)=0;

    for i=1:N-1

    t(i+1)=t(i)+dt; y(i+1)=(y(i)+0.5*dt*(3*y(i)+t(i).^2 + t(i+1).^2))/(1-3*dt/2); end

  • Modelao Numrica DEGGE

    8

    Mtodo de Runge-Kutta Os vrios mtodos de Runge-Kutta permitem maior preciso, mas envolvem mais clculos para cada iterao. O mtodo evolve uma mdia ponderada de valores de y(t, y) em diferentes pontos do intervalo +1 e pode ser escrito genericamente como:

    +1 = + , 0

    = ( + . , +

    )

    i=1, 2, ..., N; h=t Em que M corresponde ao nmero de etapas do mtodo, ou a sua ordem. Mtodo Runge-Kutta de ordem 4 (RK-4) A expresso geral para o RK-4 :

    +1 = +

    6(1 + 22 + 23 + 4)

    Em que 1 = (, )

    2 = ( +

    2, +

    21)

    3 = ( +

    2, +

    22)

    4 = (+1, + 3) Retirado de Chapra & Canale, Numerical Methods for Engineers, 6th ed, 2010, McGraw Hill Como se pode ver na figura, o RK-4 requer o clculo de valores de y(t, y) em trs pontos distintos, K1 corresponde derivada no primeiro ponto do intervalo (t), que usada para determinar um ponto a meio do intervalo (t+1/2) onde se avalia novamente o valor de y, ou K2. O valor de K2 ento usado para determinar um novo ponto a meio do intervalo, onde se calcula um outro valor possvel para a derivada, K3. Por fim, K3 permite determinar um quarto ponto