Edo

30
Introduc ¸˜ ao etodo de Euler etodos de Runge-Kutta Resoluc ¸˜ ao Num ´ erica de Equac ¸˜ oes Diferenciais Ordin ´ arias (EDO) Ivanovitch Medeiros Dantas da Silva Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computac ¸˜ ao e Automac ¸˜ ao DCA0399 - M ´ etodos Computacionais para Engenharia Civil Natal, 09 de novembro de 2011 Ivanovitch Silva Resoluc ¸˜ ao Num ´ erica de EDOs

description

introdução edo

Transcript of Edo

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Resolucao Numerica de EquacoesDiferenciais Ordinarias (EDO)

    Ivanovitch Medeiros Dantas da Silva

    Universidade Federal do Rio Grande do NorteDepartamento de Engenharia de Computacao e AutomacaoDCA0399 - Metodos Computacionais para Engenharia Civil

    Natal, 09 de novembro de 2011

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Sumario

    1 Introducao

    2 Metodo de Euler

    3 Metodos de Runge-Kutta

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Sumario

    1 Introducao

    2 Metodo de Euler

    3 Metodos de Runge-Kutta

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes Diferenciais

    Uma Equacao Diferencial e uma equacao que envolvederivadas de uma ou mais funcoes.Elas servem para descrever o comportamento de sistemasdinamicos e possuem enorme aplicacao

    Engenharia - comportamento de um circuito eletrico ou domovimento oscilatorio de estruturasBiologia - crescimento de populacoes de bacteriasEconomia - aplicacoes financeiras

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes DiferenciaisClassificacao

    Equacoes diferenciais sao classificadas de acordo com oseu tipo, ordem ou grau.Equacao diferencial ordinaria - se uma equacaodiferencial envolve derivadas de uma funcao de uma unicavariavel independente.

    F (x , y ,dydx

    ,d2ydx

    , . . . ,dnydx

    )

    Equacao diferencial parcial - se uma equacao diferencialenvolve derivadas parciais de uma funcao com duas oumais variaveis independentes.

    F (x1, . . . , xn, y ,yx1

    , . . . ,yxn

    ,2yx1

    , . . . ,2yxn

    , . . .)

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes DiferenciaisSignificado grafico

    Suponha um polinomio de quarto grau

    y = 0.5x4 + 4x3 10x + 8.5x + 1

    Derivando-o, obtemos uma EDO

    dy/dx = 2x3 + 12x2 10

    Essa equacao tambem descreve o comportamento depolinomio, sendo que de uma maneira diferente. Ao invesde descrever explicitamente o valor de y para cada valorde x, ela fornece a taxa de variacao de y com relacao a x.

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes DiferenciaisSignificado grafico

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes Diferenciais

    Embora possamos determinar uma equacao diferencialdada a funcao original, o objetivo aqui e determinar afuncao original, dada a equacao diferencial.A funcao original e a solucao do nosso problema.No exemplo anterior, podemos calcular a funcao originalanaliticamente

    y =(2x3 + 12x2 10)dx

    = 0.5x4 + 4x3 10x + 8.5x + C

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes Diferenciais

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes DiferenciaisExemplo

    Problema: analise de um corpo de massa m que cai comvelocidade v(t). Este corpo sofre uma forca de resistenciado ar na forma Fr = c v(t), onde c e o coeficiente deresistencia.

    A forca que leva o corpo parabaixo

    F = P FrSabendo que, P = m g,F = m a(t) e a(t) = dv(t)dt

    dv(t)dt

    = g cmv(t)

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes DiferenciaisResolucao

    A solucao para uma equacao diferencial consiste emencontrar uma funcao que satisfaca a equacao diferencial.A funcao nao deve conter derivadas nem diferenciais e elapode ser uma solucao geral ou particular.Uma solucao geral de ordem n e uma solucao contendo nconstantes de integracao independentes

    v(t) = d1ectm +

    gmc

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes DiferenciaisResolucao

    Uma solucao particular e obtida a partir da solucao geral,dando-se valores especficos a`s constantes

    f (x0) = y0f (x1) = y1f (x2) = y2

    ...f (n1)(n 1) = yn1

    Se x0 = x1 = x2 = . . . = xn entao o problema e dito ser devalor inicial, caso contrario e dito ser de contorno.

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes DiferenciaisPorque usar metodos numericos?

    A busca de uma solucao para uma equacao diferencialordinaria com problema de valor inicial apresenta algunsproblemas.Os procedimentos para a busca de uma solucao analticanao e trivial.Muitas questoes praticas nao possuem solucao conhecida.Os coeficientes ou as funcoes existentes na equacaodiferencial sao dados somente na forma de um conjuntotabelado de informacoes experimentais, o que tornaimpossvel o uso de um procedimento analtico paradeterminar a solucao da equacao.

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Equacoes DiferenciaisMetodos numericos

    Serao tratados os metodos numericos de resolucao deequacoes diferenciais ordinarias (EDO) com o problemado valor inicial (PVI). Esses metodos apresentam aseguinte forma geral:{

    dy(x)dx = f (x , y(x))

    y(x0) = y0

    Metodo de EulerMetodo de Runge-Kutta

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Sumario

    1 Introducao

    2 Metodo de Euler

    3 Metodos de Runge-Kutta

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodo de EulerIntroducao

    Dado uma equacao diferencial ordinaria de primeira ordemcom problema de valor inicial{

    dy(x)dx = f (x , y(x))

    y(x0) = y0

    e um conjunto de pontos x [a,b], pode-se aproximar a funcaoy(x) (solucao desejada) por um polinomio da serie de Taylor emtorno de um valor xk pertencente ao intervalo [a,b].

    y(x) = y(xk ) + y (xk )(x xk )

    1!+ y (xk )

    (x xk )22!

    + . . .

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodo de EulerIntroducao

    Truncando a seria no segundo termo e fazendo x = xk+1

    y(xk+1) y(xk ) + y (xk )(xk+1 xk )

    Porem, xk+1 xk = h e y (xk ) = f (xk , y(xk ))

    y(xk+1) = y(xk ) + h f (xk , y(xk ))yk+1 = yk + h f (xk , yk )

    onde k = 0, 1, 2, . . ., n-1. n e o numero de subintervalos.

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodo de EulerExemplo

    Resolver a seguinte EDO, onde x [0,1] e h = 0.25{dy(x)dx = y 2xy

    y(0) = 1

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodo de EulerExemplo

    Primeiramente devemos encontrar a variacao do ndice k

    h =b an n = 1 0

    0.25= 4

    Dessa forma, o ndice k varia de 0 ate 3.

    f (xk , y(xk )) = yk 2xkyk

    k = 0

    x1 = x0 + h 0 + 0.25 = 0.25f (x0, y0) = y0 2 x0y0 1

    2 01

    = 1

    y1 = y0 + h f (x0, y0) 1 + 0.25 1 = 1.25Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodo de EulerExemplo

    k = 1

    x2 = x1 + h 0.25 + 0.25 = 0.5f (x1, y1) = y1 2 x1y1 1.25

    2 0.251.25

    = 0.85

    y2 = y1 + h f (x1, y1) 1.25 + 0.25 0.85 = 1.4625

    k = 2

    x3 = x2 + h 0.5 + 0.25 = 0.75f (x2, y2) = y2 2 x2y2 1.4625

    2 0.51.4625

    = 0.77874

    y3 = y2 + h f (x2, y2) 1.4625 + 0.25 0.77874 = 1.6572

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodo de EulerExemplo

    k = 3

    x4 = x3 + h 0.75 + 0.25 = 1f (x3, y3) = y3 2 x3y3 1.6572

    2 0.751.6572

    = 0.75222

    y4 = y3 + h f (x3, y3) 1.6572 + 0.25 0.75222 = 1.84526

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodo de EulerExemplo

    Resolver a seguinte EDO, onde x [0,2] e h = 0.5{

    dy(x)dx = yx

    2 yy(0) = 1

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Sumario

    1 Introducao

    2 Metodo de Euler

    3 Metodos de Runge-Kutta

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodos de Runge-KuttaIntroducao

    Quanto menor o passo usado no metodo de Euler menor oerro de truncamento.Muitas vezes o erro nao e satisfatorio mesmo usando-seum passo muito pequeno.O metodo de Euler nao e usado na pratica.Utilizam-se metodos mais precisosRunge-Kutta de primeira ordem (metodo de Euler)Runge-Kutta de segunda ordemRunge-Kutta de quarta ordem

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodos de Runge-KuttaSegunda ordem

    Formato I (Euler melhorado)K1 = f (xj , yj)K2 = f (xj + h, yj + h K1)yj+1 = yj + h2(K1 + K2)

    Formato II (Euler modificado)K1 = f (xj , yj)K2 = f (xj + h2 , yj +

    h2 K1)

    yj+1 = yj + h K2

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodos de Runge-KuttaQuarta ordem

    Dentre os metodos de Runge-Kutta, e o mais popular

    K1 = f (xj , yj)K2 = f (xj + h2 , yj +

    h2 K1)

    K3 = f (xj + h2 , yj +h2 K2)

    K4 = f (xj + h, yj + h K3)yj+1 = yj + h6(K1 + 2K2 + 2K3 + K4)

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodos de Runge-KuttaExemplo

    Resolver a EDO para x [0,1] e h = 0.1{y = x y + 2y(0) = 2

    Calculando o numero de subintervalos

    h =b an n = b a

    h=

    1 00.1

    = 10

    Portanto, j varia de 0 ate 9

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodos de Runge-KuttaExemplo

    Para j = 0

    K1 = f (x0, y0)= x0 y0 + 2= 0 2 + 2= 0

    K2 = f (x0 + h2 , y0 +h2K1)

    = f (0 + 0.12 ,2 +0.12 0)

    = f (0.05,2)= 0.05 2 + 2= 0.05

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodos de Runge-KuttaExemplo

    K3 = f (x0 + h2 , y0 +h2K2)

    = f (0 + 0.12 ,2 +0.12 0.05)

    = f (0.05,2.0025)= 0.05 2.0025 + 2= 0.0475

    K4 = f (x0 + h, y0 + h K3)= f (0 + 0.1,2 + 0.1 0.0475)= f (0.1,2.00475)= 0.1 2.00475 + 2= 0.09525

    Ivanovitch Silva Resolucao Numerica de EDOs

  • Introducao Metodo de Euler Metodos de Runge-Kutta

    Metodos de Runge-KuttaExemplo

    y1 = y0 + h6(K1 + 2K2 + 2K3 + K4)

    = 2 + 0.16 (0 + 2 0.05 + 2 0.0475 + 0.09525)= 2.0048375

    Esse procedimento deve ser repetido ate j = 9, ou seja, ateencontrar o y10.

    Ivanovitch Silva Resolucao Numerica de EDOs

    IntroduoMtodo de EulerMtodos de Runge-Kutta