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

Solução Numérica de

Equações Diferenciais
Ordinárias
Roteiro

• Introdução EDOs
• EDOs PVI
• Séries de Taylor
• Métodos de Euller
• Métodos de Runge Kutta

1
0011 0010
452
INTRODUÇÃO

Uma equação diferencial ordinária é definida como uma equação

que envolve uma função incógnita y e algumas de suas derivadas


avaliadas em uma variável independente x, da forma:

y ( n ) ( x )  f [ x , y' ( x ), y' ' ( x ),... , y ( n 1 ) ( x )]

Nas ciências aplicadas a utilização de equações diferenciais tem


como objetivo descrever o comportamento dinâmico de sistemas
físicos. Por exemplo, o comportamento dinâmico de um circuito,
1
452
mostrado na figura a seguir, pode ser descrito por uma equação
diferencial.
0011 0010
CIRCUITOS ELÉTRICOS RLC

Circuitos elétricos mais complexos são basicamente formados


por resistores de resistência R, indutores de indutância L,
capacitores de capacitância C, carregado com uma diferença
de potencial VC e uma fonte elétrica cuja diferença de potencial
é indicada E(t).

1
0011 0010
452
Se E(t) é a diferença de potencial da fonte de alimentação e i(t) é
a intensidade da corrente elétrica, então:

VL é a diferença de potencial nos terminais do indutor:

di
VL (t )  L
dt

VR é a diferença de potencial nos terminais do resistor:

VR (t )  Ri (t )
1
0011 0010
452
VC é a diferença de potencial nos terminais do capacitor:

1 t
VC (t )   i (u )du
C 0

A lei de Kirchoff para tensões afirma que a soma algébrica de


todas as tensões tomadas num sentido determinado (horário ou
anti-horário), em torno de um circuito fechado é nula. Assim,
quando for fechado o interruptor, obteremos:

VL (t )  VR (t )  VC (t )  E (t )
1
0011 0010
452
Substituindo

di 1 t
VL (t )  L VR (t )  Ri (t ) VC (t )   i (u )du
dt C 0
em
VL (t )  VR (t )  VC (t )  E (t )

obtemos:

di 1 t
L  Ri (t )   i (u )du  E (t )
dt C 0 1
0011 0010
452
Se E(t) é constante e derivarmos em relação à variável t, teremos

d 2i (t ) di(t ) 1
L 2
R  i (t )  0
dt dt C

e temos uma EDO de segunda ordem, linear e homogênea.

Se E(t) é uma função diferenciável da variável t, então

d 2i (t ) di(t ) 1 dE
L 2
R  i (t ) 
dt dt C dt

e temos uma EDO linear não-homogênea.


1
0011 0010
452
TIPOS DE EQUAÇÕES
DIFERENCIAIS

1
0011 0010
452
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

São equações diferenciais que possuem apenas uma


variável independente.

Exemplos:
dy
 x y y é função de x e x é a única variável
dx independente.

dy y e x são funções de t; t é a única


 x2  y2
dt variável independente.

d2y y e x são funções de w; w é a


1
 
452
2 2
x y única variável independente. Esta
dw2 edo é de segunda ordem.
0011 0010
EQUAÇÕES DIFERENCIAIS PARCIAIS

Uma equação diferencial parcial é aquela cuja função


incógnita depende de duas ou mais variáveis independentes.

Exemplo:

 2u  2u
 2 0 u é função de x e y; x e y são variáveis
x 2
y independentes. EDP linear, de 2ª
ordem e homogênea. (Equação de
Laplace)

1
0011 0010
452
SOLUÇÃO DE EQUAÇÕES DIFERENCIAIS

Determinadas equações diferenciais podem ser


solucionadas analiticamente, cuja solução é uma expressão
literal. No entanto, isto nem sempre é possível. Neste caso, a
solução é obtida através de solução numérica, como será visto
na seqüência.

1
0011 0010
452
Exemplo:
dy
Resolva a equação diferencial  y.
dx
Solução:

dy dy dy
 y  dx     dx  ln( y )  c1  x  c2
dx y y
y ( x)  e x  c  e x e c .
Tomando k  e c obtemos :

y ( x)  ke x
1
0011 0010
452
Observe que a solução da equação diferencial resulta numa
família de curvas que dependem da constante k, como pode ser
visto na figura abaixo. Uma solução particular pode ser obtida a
partir das condições iniciais do problema. A especificação de
uma condição inicial define uma solução entre a família de
curvas.

y ( x)  ke x

1
0011 0010
452
SOLUÇÃO NUMÉRICA DE
EQUAÇÕES DIFERENCIAIS
ORDINÁRIAS – PROBLEMA DE
VALOR INICIAL

1
0011 0010
452
Considere a equação diferencial ordinária de primeira ordem com
condição inicial :
 y '  f ( x, y )
 , x  [a, b]; x0  a
 y ( x0 )  y0
Se a solução da equação diferencial acima é do tipo y(x), conforme
ilustrado abaixo:

y y(xn)

y(x3)
y(x1) y(x2)

y(x0) = y0

1
0011 0010
x0 = a x1 x2 x3 xn = b x
452
então a solução numérica da equação diferencial é obtida
aproximando-se os valores y ( x0 ), y ( x1 ), y ( x2 ), y ( x3 ),... , y ( xn ) ,

conforme a tabela abaixo:

ba
onde xj = x0 + jh, com h  e n é o número de subintervalos
n
de [a,b].

Considera-se que a notação y( x j ), j  1,2,..., n indica a solução


y j , j  1,2,...., n
exata da EDO nos pontos x1 , x 2 , x3 ,..., x n, e
1
indica a solução aproximada obtida por um método numérico.

0011 0010
452
Na solução numérica não se determina a expressão literal da
função y(x), mas sim uma solução aproximada do PVI num
conjunto discreto de pontos.
Nos problemas das ciências aplicadas, normalmente estuda-se
o comportamento dinâmico de determinadas variáveis, portanto
necessita-se da evolução das variáveis em função da variável
independente. A partir dos dados numéricos é possível gerar um
esboço do gráfico da função incógnita.

1
0011 0010
452
MÉTODOS BASEADOS
NA SÉRIE DE TAYLOR

1
452
Série de Taylor
Resumo

0011 0010
Suponhamos que, de alguma forma, tenhamos as
aproximações y1, y2, ..., yi para y(x), em x1, x2, ..., xi.

Se y for suficientemente “suave”, a série de Taylor de y(x) em torno


de x = xi é:
( x  xi ) 2 ( x  xi ) k ( x  xi ) k 1
y ( x)  y ( xi )  y ' ( xi )( x  xi )  y" ( xi )    y ( xi )
(k )
y ( k 1)
( x )
2! k! (k  1)!

 x entre xi e x.

Assim,

y ( xi 1 )  y ( xi )  y ' ( xi )( xi 1  xi )  y" ( xi )
( xi 1  xi ) 2
   y ( xi )
(k )
1
( xi 1  xi ) k

0011 0010
2! k!

452
Se yi(j) representa a aproximação para a j-ésima derivada da função
y(x) em xi: y(j)(xi) e h = xi+1 – xi, teremos:

h2 h k
y ( xi 1 )  yi 1  yi  yi ' h  yi "    yi
(k )

2! k!

e o erro de truncamento é dado por:

y ( k 1) ( xi )
e( xi )  h ( k 1)
(k  1)!

1
0011 0010
452
Um método numérico é dito de ordem p se existe uma constante C
tal que:

| e( xi 1 ) |  Ch p1

Onde C depende das derivadas da função que define a equação


diferencial.

Para aplicar o método da série de Taylor de ordem k:

(k )
y '' y
yi 1  yi  yi ' h  i h 2    i h k
2! k!

temos de calcular yi’, yi”, yi’’’, ..., yi(k). 1


0011 0010
452
Agora, y’(x) = f(x, y(x)). Então:

y"  f x ( x, y ( x))  f y ( x, y ( x)) y ' ( x)  f x  f y f

Assim, por exemplo, o método de série de Taylor de 2ª ordem é:

h2
yi 1  yi  hf ( xi , yi )  [ f x ( xi , yi )  f y ( xi , yi ) f ( xi , yi )], i  0,1,...
2

1
0011 0010
452
Observe que

y' ' ' ( x)  f xx ( x, y ( x))  f xy ( x, y ( x)) y ' ( x) 


 [ f yx ( x, y( x))  f yy ( x, y ( x)) y' ( x)] y ' ( x)  f y ( x, y ( x)) y"( x)
 f xx  f xy f  ( f yx  f yy f ) f  f y ( f x  f y f ),

A expressão da terceira derivada já nos mostra a dificuldade dos


cálculos de um método de Taylor de terceira ordem. Observe
ainda que todos esses cálculos são efetuados para cada i,
i = 1, ..., n.
1
0011 0010
452
Os métodos que usam o desenvolvimento em série de Taylor
de y(x) teoricamente fornecem solução para qualquer equação
diferencial. No entanto, do ponto de vista computacional, os
métodos de série de Taylor de ordem mais elevada são
considerados inaceitáveis pois, a menos de uma classe restrita
de funções f(x,y) ( f(x,y) = x2 + y2, por exemplo), o cálculo das
derivadas totais envolvidas é extremamente complicado.

1
0011 0010
452
MÉTODO DE PASSO UM
MÉTODO DE EULER

1
0011 0010
452
Consideremos, o método de série de Taylor de ordem k = 1, ou
seja,

yi 1  yi  hyi'  yi  hf ( xi , yi )
onde

y" (  xi1 )
e( xi 1 )  h2
2

Este é o método de Euler, que é um método de série de Taylor de


1
ordem 1.

0011 0010
452
INTERPRETAÇÃO GEOMÉTRICA DO MÉDODO DE EULER:

Como conhecemos x0 e y0 = f(x0), então sabemos calcular y’(x0) =


f(x0,y0). Assim, a reta r0(x) que passa por (x0,y0), com coeficiente
angular y’(x0), é:

r0 ( x)  y ( x0 )  ( x  x0 ) y ' ( x0 )

Escolhido h  xk 1  xk

y ( x1 )  y1  r0 ( x1 )  y ( x0 )  hy' ( x0 )

ou seja 1
0011 0010
y1  y0  hf ( x0 , y0 ).
452
O raciocínio é repetido com (x1,y1) e y2 = y1 + hf(x1,y1) e assim,
sucessivamente, o método de Euler nos fornece:
yk 1  yk  hf ( xk , yk ). k  0,1,2,...

GRAFICAMENTE:

y = ex
y

y(x1)
r0 (x)
Erro
y1 P1
y0=1

1
0011 0010
x0 = 0 x1 = x0 + h x
452
Exemplo

Temos f  x, y   2 cos  2 x  y

 y1  y0  f  x0 , y0  h  1  f  0,1 0.5  2


 x1  x0  h  0  0.5  0.5

 y2  y1  f  x1 , y1  h  2  f  0.5, 2  0.5  3.080605




 x2  x1  h  0.5  0.5  1

 y3  y2  f  x2 , y2  h  3.080605  f 1, 3.080605  0.5  1.798621




 x3  x2  h  1  0.5  1.5

Obtendo-se os pontos aproximados da solução


y1  y  x1   y  0.5  2 ,
1
y2  y  x2   y 1  3.080605
y3  y  x3   y 1.5  1.798621
0011 0010
452
MÉTODOS DE
RUNGE-KUTTA

1
0011 0010
452
MÉTODOS DE RUNGE-KUTTA

A idéia básica destes métodos é aproveitar as qualidades


dos métodos de série de Taylor (ordem elevada) e ao mesmo
tempo eliminar sua maior dificuldade que é o cálculo de
derivadas de f(x,y) que, conforme vimos, torna os métodos de
série de Taylor computacionalmente inaceitáveis.

1
0011 0010
452
Podemos dizer que os métodos de Runge-Kutta de ordem p se
caracterizam pelas propriedades:

São de passo um (auto-iniciantes);

não exigem o cálculo de derivadas parciais de f(x,y);

necessitam apenas do cálculo de f(x,y) em determinados pontos


(os quais dependem da ordem dos métodos);

expandindo-se f(x,y) por Taylor em torno de (xi , yi) e agrupando-


se os termos em relação às potências de h, a expressão do método
de Runge-Kutta coincide com a do método de Taylor de mesma
1
ordem.

0011 0010
452
MÉTODOS DE RUNGE-KUTTA DE 1ª ORDEM:
MÉTODO DE EULER

Já vimos que o método de Euler é um método de série de


Taylor de 1ª ordem:

yi 1  yi  hf ( xi , yi ), i  0,1, 2, ...

Observe que o método de Euler possui as propriedades


anteriores que o caracterizam como um método de Runge-
Kutta de ordem p = 1.

1
0011 0010
452
FORMA GERAL DOS MÉTODOS
DE
RUNGE-KUTTA DE 2ª ORDEM

1
0011 0010
452
Método de Runge Kutta

• Método Runge Kutta de 2ª Ordem


É também chamado de método de Euller Aperfeiçoado, que como o
próprio nome já diz, consiste em fazer mudanças no método de Euller para
conseguir um método de ordem mais elevada

1
0011 0010
452
Método de Runge Kutta
• Método Runge Kutta de 2ª Ordem

1
0011 0010
452
Método de Runge Kutta

Ou também da seguinte forma:

1
0011 0010
452
MÉTODOS DE RUNGE-KUTTA
DE
ORDENS SUPERIORES

1
0011 0010
452
De forma análoga, pode-se construir métodos de 3ª ordem, 4ª
ordem, etc. A seguir serão fornecidas apenas fórmulas para
métodos de Runge-Kutta de 3ª e 4ª ordem:

3ª ordem

2 1 4
yi 1  yi  k1  k 2  k3 onde
9 3 9

k1  hf ( xi , yi )
h k1
k 2  hf ( xi  , yi  )
2 2
3 3
k3  hf ( xi  h, yi  k 2 ) 1
0011 0010
4 4
452
Runge Kutta de 4ª Ordem

1
0011 0010
452
Runge Kutta de 4ª Ordem

1
0011 0010
452
OBSERVAÇÃO:

Os métodos de Runge-Kutta, apesar de serem auto-


iniciáveis (pois são de passo um) e não trabalharem com
derivadas de f(x,y), apresentam a desvantagem de não
haver para eles uma estimativa simples para o erro, o que
inclusive poderia ajudar na escolha do passo h.

Existem ainda adaptações dos métodos de Runge-Kutta que


são simples operacionalmente e que são usadas também
para estimativas de erro e controle do tamanho do passo h.

1
0011 0010
452
Vamos calcular usando o método de Runge Kutta uma
aproximação de y(1,5) para a solução de y’=2xy , y(1)=1, com
h=0,1:

1
0011 0010
452
Obtemos:

1
0011 0010
452
E portanto:

1
0011 0010
452
Método Runge-Kutta de 4ª ordem

• Exemplo:

Integre a função f(x,y)=2x³+12x²-20x+85 de x=0


até x=0,5 passo de integração 0,5 com o Método
Runge-Kutta de Quarta Ordem. Condições Iniciais:
para x=0,y=1

1
0011 0010
452
Método Runge-Kutta de 4ª ordem
• Solução:

1
0011 0010
452
Método Runge-Kutta de 4ª ordem

1
0011 0010
452

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