36
Introdução a Introdução a Resolução Resolução Numérica de Equações Numérica de Equações Diferenciais Diferenciais Ordinárias Ordinárias

Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Embed Size (px)

Citation preview

Page 1: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Introdução a Resolução Introdução a Resolução

Numérica de EquaçõesNumérica de Equações

Diferenciais Ordinárias Diferenciais Ordinárias

Page 2: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Definição 6.1.1: Uma equação que envolve derivadas até ordem n, é chamada de equação diferencial ordinária (EDO) de ordem n e pode ser escrita na forma:

 

(6.1.1)

 

Definição 6.1.2: A solução da equação (6.1.1) é qualquer função y = F(x) que é definida em [a,b] e tem n derivadas neste intervalo e que satisfaz (6.1.1).

y x f x y x y x y xn n( ) ( )( ) ( , ( ), ( ), , ( )) 1

bxa

Equações Diferenciais

Page 3: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

A forma mais simples de uma EDO é

(6.1.2)

onde f é contínua para a < x < b.

A solução geral desta equação é:

(6.1.3)

com constante c determinada por

)(xfy

y x f x dx c( ) ( ) y x y( )0 0

Page 4: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

De um modo geral temos

 

(6.1.4)

 

como por exemplo:

 

 

é conveniente reduzi-la a um sistema de EDO de primeira ordem chamando :

nn

nn

ayayaybxa

yyyxfxy

)(,,)(,)(

),,,,()(

121

)1(

1)0(,,0)0(,1)0(10

1)()()( 2

yyyx

fxxyexyxxy x

y y x1 ( )

Page 5: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

1)0(,,0)0(,1)0(10

1)()()( 2

yyyx

fxxyexyxxy x

y x y

y x y

y x xy x e y x x f

y y y

x

1 2

2 3

3 2 12

1 2 3

1

0 1 0 0 0 1

( )

( )

( ) ( ) ( )

( ) , ( ) , ( )

Para reduzir a uma EDO de primeira ordem assumimos:

y y x1 ( )

10 x

)(2 xyy )(3 xyy

Page 6: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

isto é, se

3

2

1

~

y

y

y

y ~

y

y

y

y

1

2

3

~( )

( )

( )

( )

y

y

y

y

0

0

0

0

1

2

3

~

( , , , )

~( , )

y

y

y

f x y y y

F x y2

3

1 2 3

de um modo geral (6.1.6)

dy

dtF x y x

y y

~ ~( , ~( ))

~( ) ~

0 0

Page 7: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Equações de Diferenças

Definição 6.2.1: Uma equação de diferenças de ordem n é uma sequência de equações da forma:

 

(6.2.1)

 

Os são funções de (n+1) variáveis e os valores são específicos.

 

Definição 6.2.2: Uma solução de (6.2.1) é uma sequência

que satisfaz (6.2.1).

g y y y

y

k n k n k

i i

( , , , )

1 0

k

i n

0 1

0 1 1

, ,...

, ,...,

gk i

y y y y y yn n n0 1 2 1 1, , ,..., , , ,...

Page 8: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Uma forma especial de (6.2.1) é:

 

(6.2.2)

n k n n k n k

i i

y y y

y

1 1 0 0...

k

i n

0 1

0 1 1

, ,...

, ,...,

Page 9: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Estas fórmulas nos lembram as fórmulas recursivas e pode ser mostrado que toda fórmula recursiva pode ser escrita como uma equação de diferença.

Suponha, por exemplo, que a equação (6.2.2) tenha uma solução da forma:

k=0,1,... (6.2.5)

onde k é constante a ser determinada, então de (6.2.2) temos:

Como 0 então p() = 0

(6.2.6)

Logo se é uma raiz de p() = 0 então satisfaz a equação (6.2.2).

ykk

nk n

nk n k

1

10... k

nn

nn( ... )

1

10 0

p nn

nn( ) ...

1

10

Page 10: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Exemplo : (6.2.7)

 

(6.2.8)

 

satisfaz (6.2.7). Note que, se e então

e a solução será (6.2.9)

y y yk k k 2 185 4.

p( ) 2 17 8 02

1 05 . 2 8

y a akk k 1 1 2 2

y0 2 11 y

a a

a a1 2

1 2

2

05 8 1

.

a

a1

2

2

0

ykk2 05( . )

Page 11: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Se em vez dos valores iniciais anteriores tivermos, por exemplo:

então teríamos , de modo que a solução

perturbada seria :

(6.2.9-a)

  Mesmo para valores moderados de k, a mudança é grande.

 

y

y0

1

2 000001

1000008

.

.

a

a1

26

2 0

10

.

ykk k 2 05 10 86( . )

Page 12: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Teorema 6.2.1: Teorema 6.2.1: A solução da equação de diferenças

que envolve somente as raízes , , ... , do

polinômio característico p() = 0 é estável (bem

condicionada numéricamente) se todas as outras

raízes , , ... , satisfazem <1

para .

1 2 m

1m 2m n k

k m n 1,...,

Page 13: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Estudaremos, agora, os métodos que aproximam uma EDO por uma equação de diferença. Para facilitar, seja inicialmente

 (6.2.10)

 

• Em alguns métodos para determinar , uma aproximação de levamos em consideração apenas o valor de f no ponto , isto é, temos métodos de um só passo.

• Quando estamos calculando podemos levar em conta, não só , mas também os passos anteriores , ... , , etc. Tais métodos são chamados de métodos de passos múltiplos.

yk 1

y xk( )

yk 1

yk

yk 1ky lky

y f x y x

y x y

( , ( ))

( )0 0

Page 14: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

A forma geral dos métodos de k passos é dada por:

 

(6.2.11)

Se Método Explícito.

Se Método Implícito.

y y h fi j i j jj

k

i jj

k

1 10

11

0 00 0

Page 15: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Métodos de um PassoMétodos de um PassoMétodo de Runge Kutta (RK)Método de Runge Kutta (RK)

Os métodos de RK são obtidos pela série de Taylor em que se omitem os termos de mais alta ordem na expansão. Assim, expandindo a solução em série de Taylor obtemos:

...)(!3

)(!2

)()()(32

xyX

xyX

xyXxyXxy

Page 16: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Sabendo que

ydy

dt

df

dt

f

xx

f

tf

f

x

f

t

ydy

dtf

f

xf

f

xf

f

x t

f

x

f

t

f

t

22

2

2 2 2

22

obtemos a base para todos os métodos RK

(6.2.14)

t

f

x

ff

XXfxyXxy

!2)()(

2

Xf

f

xf

f

xf

f

x t

f

x

f

t

f

t

32

2

2

2 2 2

232

!...

Page 17: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Discretizando, temos:

logo

(6.2.17)

levando-se em conta

y x y x y k

y x X y x y k

f y x x f y x x f k

k

k

k k

( ) ( ) ( )

( ) ( ) ( )

( ( ), ) ( ( ), ) ( )

1 1

f

t0

x

fkf

XkXfkyky )(

!2)()()1(

2

Xf k

f k

xf k

f k

x

32

2

2

2

3!( )

( )( )

( )...

Page 18: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Método de Euler

A menor aproximação é da forma :

 

k = 0,1,... (6.2.18)

 

e é conhecido como MÉTODO DE EULER..

y k y k Xf k( ) ( ) ( ) 1

Page 19: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Runge Kutta de segunda ordemPara desenvolvermos o método de segunda ordem RK2, assumiremos que a solução assume uma aproximação tendo a expressão:

 

k = 0,1,... (6.2.19)

 onde e são constantes e

(6.2.20)

(6.2.21)

com constante.

y k y k c g c g( ) ( ) 1 1 1 2 2

c1 2c

g Xf k1 ( )

g Xf y k g2 2 1 ( ( ) ) 2

Page 20: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Desenvolvendo em série de Taylor a expressão (6.2.21), obtem-se:

(6.2.23)

Logo então

y k y k c c Xf k c X f kf k

x( ) ( ) ( ) ( ) ( )

( )... 1 1 2 2 2

2

c c

c

1 2

2 2

11

2

c c1 2

2

12

1

y k y k g g( ) ( ) ( ) 11

2 1 2

g Xf k1 ( ) g Xf y k g2 1 ( ( ) )

Page 21: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Runge Kutta de quarta ordemRunge Kutta de quarta ordem

Normalmente X = h, por universalidade : e , e seguindo o mesmo procedimento obteremos RK4 (o mais importante):

k = 0,1,...

(6.2.25)

g K1 122 Kg

y k y k g g g g( ) ( ) ( ) 11

62 21 2 3 4

g Xf k

g Xf y k g

g Xf y k g

g Xf y k g

1

2 1

3 2

4 3

0 5

0 5

( )

( ( ) . )

( ( ) . )

( ( ) )

Page 22: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Nos métodos RK temos as seguintes características:

São auto-inicializáveis, isto é, a partir da condição inicial temos condições de calcular os demais pontos;

Não precisam do cálculo manual de derivadas;

Permitem fácil troca de X=h;

São facilmente codificáveis;

Utilizam p avaliações de função, se a ordem da fórmula for p.

 

Page 23: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Método de Passos MúltiplosMétodo de Passos Múltiplos

Conforme vimos, os métodos de passo simples precisam de informação sobre a solução apenas em x = para achar uma aproximação para y( + h ).

A característica dos métodos de passo múltiplos é que eles usam informações sobre a solução em mais de um ponto. Inicialmente vamos supor que conhecemos aproximações para y(x) em e

, i = 0,1,... .

A seguir exporemos aqui uma classe de métodos de passo múltiplo que é baseado no principio de integração numérica (Métodos Adams-Bash Forth).

xn xn

x x xn0 1, ,...,x x hi i 1

Page 24: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Métodos ExplícitosMétodos Explícitos

São obtidos quando trabalhamos com para aproximar a integral :

Aproximamos pelo polinômio de grau m, que interpola em e então:

x x xn n n m, ,..., 1

y x y x f x y x dxn n

x

x

n

n

( ) ( ) ( , ( ))

1

1

f x y x( , ( )) P xm ( )f x y( , ) x x xn n n m, ,..., 1

y x y x P x dxn n

x

x

m

n

n

( ) ( ) ( )

1

1

Page 25: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Escolhendo m = 3 então vamos usar ; ; ; aproximando pelo polinômio de grau 3 ( ) que interpola nos pontos acima, fazendo as contas:

Se o polinômio fosse do quarto grau

  

),( nn yx ),( 11 nn yx),( 22 nn yx ),( 33 nn yx f x y x( , ( ))

P x3 ( ) f x y x( , ( ))

y yh

f f f fn n n n n n 1 1 2 32455 59 37 9[ ]

y yh

f f f f fn n n n n n n 1 1 2 3 47201901 2774 2616 1274 251[ ]

Page 26: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Métodos ImplícitosMétodos Implícitos

São obtidos quando trabalhamos com (Adams-Moulton). Se m = 2 vamos usar

Da mesma forma que fizemos anteriormente

x x xn n n m, ,..., 1

2111

31

519924

)()()(1

nnnnnn

x

xnn

ffffh

yy

dxxPxyxyn

n

),( ),,( ),,( ),,( 221111 nnnnnnnn yxyxyxyx

Page 27: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Notamos para métodos de mesma ordem :

  eles usam menos informações que os métodos explícitos;

os coeficientes de são menores e portanto são fórmulas menos sensíveis ao arredondamento;

os limites do erro de truncamento são menores;

o problema de cálculo de , pois precisamos de , o que torna o método inaplicável numéricamente.

f i

yi1

f i1

Page 28: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Métodos Previsores CorretoresMétodos Previsores Corretores

Para contornar o último quesito podemos adotar um esquema:

1.    Calculamos o valor de por um método explícito e o chamamos de valor previsto.

2.    Com o valor previsto, calculamos .

3.    Recalculamos , isto é, corrigimos o valor de já previsto usando uma fórmula implícita.

yi1

f i1

yi1yi1

Page 29: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

MatlabMatlabA biblioteca do Matlab de EDOs os seguintes métodos de valor inicial:

ode23 método explícito de um passo, RK de ordem baixa.

ode45 método explícito de um passo, RK de ordem média. Este é geralmente, o primeiro método a se tentar em um novo problema.

ode113 método de passo múltiplo, de Adams-Bashforth-Moulton de ordens variadas.

Page 30: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

ODE 23Adequado para problemas que apresentam bruscas

variações na solução, para os quais é aceitável uma baixa precisão, ou problemas em que f(t, y) não é suave, ou seja, descontínua.

Page 31: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

Equação da MolaEquação da Molasujeita a uma forçasujeita a uma força )(tasin

function wd=spring(t,w);

a=2.0; m=2.0;

c=1.4;h=0.1;

wd = [w(2);-c/m*w(2)-h/m*w(1)+a/m*sin(t)];

)(122

21

tsinm

aw

m

hw

m

cw

ww

Page 32: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

>> tspan=[0 100];>> wo=[0;0];>> [t,w] = ode23(@mola,tspan,wo);>> plot(t,w(:,1));>> grid>> xlabel('tempo, segundos');>> ylabel('Elongamento da mola, metros');

Page 33: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

>> plot(w(:,1),w(:,2));

>> xlabel('Velocidade das oscilacoes da mola');

>> ylabel('Amplitude das oscilacoes da mola');

Page 34: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

ODE 45Adequado para problemas não-stiff que exijam

precisão moderada.

Page 35: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

function yprime=vdpol(t,y)

mu=2;

yprime = [y(2);mu*(1-y(1)^2)*y(2)-y(1)];

Equação de Van der PolEquação de Van der Pol

0)1( 2 xxxx onde é um parâmetro positivo. Escolhendo

e a equação de Van der Pol se torna:

xy 1

xy 2

12212

21

)1( yyyy

yy

Page 36: Introdução a Resolução Numérica de Equações Diferenciais Ordinárias

>> tspan = [0 20];

>> yo = [2; 0];

>> [t,y] = ode45(@vdpol,tspan,yo);

>> plot(t,y(:,1),t,y(:,2),'--');

>> xlabel('tempo');

>> title('Solucao de Van der Pol');