modelagem e métodos matemáticos aplicados à … · 2 métodos para solução de sistemas de...

25
1 Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Química LSCP – Laboratório de Simulação e Controle de Processos Disciplina Optativa Modelagem e Métodos Matemáticos Aplicados à Engenharia Química AULA 3 – Revisão de Métodos Numéricos Prof. Reinaldo Giudici ([email protected]) São Paulo, 2009 Métodos numéricos para solução de equações Dependendo do modelo, podemos ter diferentes tipos de equações para resolver: algébricas lineares algébricas não-lineares diferenciais ordinárias de valor inicial diferenciais ordinárias de valor de contorno diferenciais parciais • ...

Upload: phungtruc

Post on 30-May-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

1

Escola Politécnica da Universidade de São PauloDepartamento de Engenharia Química

LSCP – Laboratório de Simulação e Controle de Processos

Disciplina Optativa

Modelagem e Métodos Matemáticos Aplicados à Engenharia QuímicaAULA 3 – Revisão de Métodos Numéricos

Prof. Reinaldo Giudici([email protected])

São Paulo, 2009

Métodos numéricos para solução de equações

Dependendo do modelo, podemos ter diferentes tipos de equações para resolver:

• algébricas lineares• algébricas não-lineares• diferenciais ordinárias de valor inicial• diferenciais ordinárias de valor de contorno• diferenciais parciais• ...

Page 2: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

2

Métodos para solução de sistemas de equações algébricas lineares

a x a x a x a x ba x a x a x a x b

a x a x a x a x b

n n

n n

n n n nn n n

11 1 12 2 13 3 1 1

21 1 22 2 23 3 2 2

1 1 2 2 3 3

+ + + + =+ + + + =

+ + + + =

⎨⎪

⎩⎪

...

.......

...

a x b i n Ax bij j ij

n

= = ⇒ ==∑

1 1, 2, ...,

A

a a aa a a

a a ax

xx

xb

bb

b

n

n

n n nn n n

=

⎢⎢⎢

⎥⎥⎥

=

⎢⎢⎢

⎥⎥⎥

=

⎢⎢⎢

⎥⎥⎥

11 12 1

21 22 2

1 2

1

2

1

2

KK

M M O MK

M M

Métodos para sistemas de equações algébricas lineares

• Método de eliminação de Gauss• (“eliminação para a frente e substituição para trás”)• Fazer operações elementares sobre as linhas da

matriz ampliada [A b], de modo a formar no lugar de A uma matriz triangular superior (todos os elementos abaixo da diagonal principal são nulos)

• Resolver o sistema triangular superior por substituição para trás

[ ] [ ]A b U yM Moperaçoes elem entares sobre as linhas⎯ →⎯ ⎯ ⎯ ⎯ ⎯ ⎯ ⎯ ⎯⎯

para k = n, n -1, n - 2, ..., 2, 1 calcule xy u x

uk

k k j jj k

n

kk=

−= +∑ ,

1

Page 3: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

3

Método de Gauss para sistemas lineares

(a) Eliminação para a frente

[ ] [ ]A b U bM Moperaçoes elementares sobre as linhas⎯ →⎯⎯⎯⎯⎯⎯⎯⎯⎯

(b) Substituição para trás

para k = n, n -1, n - 2, ..., 2, 1 calcule xy u x

uk

k k j jj k

n

kk=

−= +∑ ,

1

OBS. 1: operações elementares aplicadas a um sistema linear convertem o sistemaem um sistema equivalente. P.ex.- mudar a ordem das equações (inverter linhas)- multiplicar uma equação por uma constante não zero- trocar uma equação pela soma dela com um múltiplo de outra equação

OBS. 2: estratégia de máximo “pivot”

OBS.3. Se a matriz A é tridiagonal → algoritmo de Thomasb ca b c

a b ca b c

a b ca b c

a b

xxx

x

ddd

n n n

n n n

n n n

1 1

2 2 2

3 3 3

4 4 4

2 2 2

1 1 1

1

2

3

1

2

0 0 0 0 00 0 0 0

0 0 0 00 0 0 0

0 0 0 0 00 0 0 0 00 0 0 0 0 0

KKKK

M M M O O O M MMMMM

− − −

− − −

⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥

=3MMMM

dn

⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥

(1) calcule w1 = b1 (2) calcule g1 = d1/w1(3) para j=2, 3, ..., n calcule qj-1 = cj-1/wj-1..

wj = bj – aj qj-1gj = (dj – ajgj-1)/wj

(4) calcule xn = gn(5) para j = n-1, n-2, n-3, ... 3, 2, 1 calcule xj = gj – qj xj+1

Page 4: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

4

Métodos para sistemas de equações algébricas lineares

• Método de Gauss-Jordan• consiste em fazer operações elementares sobre as linhas

da matriz ampliada [A b] de modo a fazer aparecer a matriz identidade I no lugar a matriz A.

• O vetor resultante que aparece no lugar de b é o vetor da solução x

• OBS: inversão de matriz

[ ] [ ]A b I xM Moperaçoes elementares sobre as linhas⎯ →⎯⎯⎯⎯⎯⎯⎯⎯⎯

[ ] [ ]A I I AM Moperaçoes elementares sobre as linhas⎯ →⎯⎯⎯⎯⎯⎯⎯⎯⎯ −1

Métodos para sistemas de equações algébricas lineares

• Método de Fatoração Triangular ou Decomposição LU• Consiste em fatorar a matriz A em um produto de

duas matrizes L e U, sendo L uma triangular inferior e U uma triangular superior. Então resolvem-se dois sistemas triangulares (por substituição para trás)

Ax bA LU

L U x bU x yLy b

Ly b yU x y x

= ⇒=

= ⇒⎧⎨⎩

== ⇒

⎧⎨⎩

⇒==

⎧⎨⎩

( )

resolve obtendo resolve obtendo

Page 5: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

5

Sistema den equações

Multiplicações e divisões Adições e subtrações

Gauss2 12

1

1

n i ii

n

+ +=

∑ ( ) ( )( ) ( )( )n n i ii

n

− + + + −=

∑1 2 1 1 11

1

Gauss-Jordan 12

32n n( )+12

1 3n n n( )( )− +

LU 12

1 22

1

12n n i n

i

n

( )− + +=

∑ 2 1 2

1

1

n n ii

n

( )− +=

n=4 n=10MD AS MD AS

GaussGauss-JordanLU

525652

384238

640650530

558585465

Comparação entre os métodos, em termos de quantidade de operações matemáticas

Métodos para solução de equações algébricas não-lineares

• São métodos iterativos. Há duas grandes classes:• (1) métodos “abertos”

• partem de uma estimativa inicial, e o algoritmo procura aproximar cada vez mais da raiz

• ex.: substituição direta, substituição amortecida• Wegstein, Newton-Raphson, Secante, etc.

• (2) métodos “fechados”• partem de um intervalo no qual a raiz está contida, e o

algoritmo procura reduzir o intervalo• ex.: bissecção, regula falsi (falsa posição), etc.

Page 6: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

6

Métodos para solução de equações algébricas não-lineares - Métodos abertos

Método da substituição direta ou subst. simplesequação deve estar na forma x = g(x)

algoritmo:x g xk k( ) ( )( )+ =1

convergese |g’(x)|<1

Métodos para solução de equações algébricas não-lineares - Métodos abertos

y

y2 = g(x)

y1 = x

xxox1x2

y

y2 = g(x)

y1 = x

xxox1 x2x3 x4

y

y2 = g(x)

y1 = x

xxo x1

yy2 = g(x) y1 = x

xxox1 x2

“Converge”

“Diverge”

Page 7: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

7

Métodos para solução de equações algébricas não-lineares - Métodos abertos

Método de substituição amortecida ou parcialequação na forma x = g(x)

algoritmo: [ ]x x s g x xk k k k( ) ( ) ( ) ( )( )+ = + −1

Métodos para solução de equações algébricas não-lineares - Métodos abertos

Método de Wegsteinequação na forma x = g(x)

algoritmo:x t g x t x

ts

sg x g x

x x

t

k k k

k k

k k

( ) ( ) ( )

( ) ( )

( ) ( )

max

( ) ( )

( ) ( )

+

= + −

=−

=−

=

1

1

1

11

1

10

com 1ª iteração ⇒ substituição simples

Page 8: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

8

Métodos para solução de equações algébricas não-lineares - Métodos abertos

y=g(x)

x

Ponto deintersecção

Próxima estimativa dométodo de Wegstein

xi xi+2

Método de Wegstein

xi+1

yy=x

Métodos para solução de equações algébricas não-lineares - Métodos abertosMétodo de Newton-Raphson F(x) = 0

Algoritmo: x xF xF xk k

k

k( ) ( )

( )

( )

( )( )+ = −′1

dedução:expandindo F(x) em série de Taylor ao redor do ponto x(k)

F x F x h F x hF xk k k( ) ( ) ( ) ( ) ...( ) ( ) ( )= = + = + ′ +0e desprezando os termos de ordem superior (o que equivale a linearizarlocalmente F(x) ao redor do ponto x(k) ), chega-se a

hF xF x

x x hk

kk k= −

′= ++

( )( )

( )

( )( ) ( ) 1

Page 9: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

9

Métodos para solução de equações algébricas não-lineares - Métodos abertos

f(x)

x

Próxima estimativado método de Newton-Raphson

Reta Tangente

xixi+1

Newton-Raphson

f(x)

Métodos para solução de equações algébricas não-lineares - Métodos abertosMétodo de Newton-Raphson paraum sistema de equações algébricas não-lineares

F x x x F x i ni n i( , ,..., ) ( ) , , ,...,1 2 0 0 1 2 3= = = ou

0 1 2 31

= + = +⎛

⎝⎜⎜

⎠⎟⎟ + =

=∑F x h F x

Fx

h i ni k i ki

jj

j

n

( ) ( ) ... , , ,...,( ) ( )

∂∂

{ }J h F J JFx

x x hk k i j

i

j

k k

( ) ( ) ,

( ) ( )

= −⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪= +

⎨⎪

⎩⎪

+

onde = matriz jacobiana = =∂∂

1

critério de parada: ( )F xi ki

n

( ( )

2

1≤

=∑ ε

Page 10: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

10

Métodos para solução de equações algébricas não-lineares - Métodos abertos

Método de BroydenTrata-se de uma variante do método de Newton-Raphson multivariável, que inclui(a) uma fórmula para atualizar a matriz H J= − −1 (inversa da matriz jacobiana)(b) uma fórmula para atualizar o fator de amortecimento s

x x s H Fk k k h k( ) ( ) ( ) ( ) ( )+ = +1

atualização de H J= − −( ) 1 (a matriz jacobiana é avaliada uma única vez, na primeira iteração e nas demais iterações a matriz H é atualizada pelas fórmulas dadas a seguir)

H HH Y s P P H

P H Y

P H F

Y F F

k k

k k k k k k

k k k

k k k

k k k

( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

+

+

= −+⎡

⎣⎢⎤⎦⎥

=

= −

1

1

Métodos para solução de equações algébricas não-lineares - Métodos abertos

Método de Broyden (cont.)

o fator de amortecimento deve satisfazer o critério

( )F x s H F F xi k k k ki

n

i ki

n2

1

2

1( ) ( ) ( ) ( ) ( )+⎛

⎝⎜⎞⎠⎟ <

= =∑ ∑

inicialmente s(1) = 1 e se o critério acima não for satisfeito então

( )s

uu

uF x s H F

F xk

i k k k ki

n

i ki

n( )

( ) ( ) ( ) ( )

( )

=+ −

=+⎛

⎝⎜⎞⎠⎟

=

=

∑1 6 1

3

2

1

2

1

Page 11: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

11

Métodos para solução de equações algébricas não-lineares - Métodos abertos

Método da secante F(x) = 0Trata-se de uma variante do método de Newton-Raphson,na qual a derivada (tangente) é aproximada pela secantepelos pontos das duas iterações mais recentes.

Algoritmo:

xF x x F x x

F x F x

xF x

F x F xx x

kk k k k

k k

kk

k k

k k

( )( ) ( ) ( ) ( )

( ) ( )

( )( )

( ) ( )

( ) ( )

( ) ( )( ) ( )

( )( ) ( )

+− −

=−−

= −−−

⎛⎝⎜

⎞⎠⎟

11 1

1

1

1

Métodos para solução de equações algébricas não-lineares - Métodos abertos

f(x)

x

Linha reta

Ponto deintersecção

Próxima estimativa dométodo da secante

xi xi+2

Método da Secante

xi+1

f(x)

Page 12: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

12

Métodos para solução de equações algébricas não-lineares - Métodos abertosMétodo de Muller F(x) =0

Pode ser interpretado como uma variação do método da secante.- método da secante aproxima a função F(x) por uma reta secante que passa pelos dois ultimos pontos- método de Muller aproxima a função F(x) por uma parábola que passa pelos três últimos pontos

Algoritmo:Dados 3 pontos, x0 , x1, x2Calcular f0 = f(x0), f1=f(x1), f2 = f(x2)Calcule h2 = x2 – x1 e d2,1 =(f2 – f1)/h2Calcule h1 = x1 – x0 e d1,0 =(f1 – f0)/h1Para i = 2,3,4,... repita

Calcule gi = (di,i-1 – di-1,i-2)/(hi + hi-1)Calcule ci =di,i-1 + (xi – xi-1).gi

Calcule ( )h f c c f gi i i i i i+ = − ± −122 4/

(escolha o sinal que forneça o maior denominador)calcule xi+1 = xi + hi+1calcule fi+1 = f(xi+1) e di+1,i = (fi+1 – fi)/hi+1

até que um dos seguintes critérios seja satisfeito:

x x x f x i ii i i i− < < ≥−1 1 2ε ε ( ) max

Métodos para solução de equações algébricas não-lineares - Métodos abertos

f(x)

xx2

Próxima estimativa do método de Muller

Parábola pelos 3 pontos

Método de Muller

x0 x1

f(x)

Page 13: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

13

Métodos para solução de equações algébricas não-lineares - Métodos fechados

Método da bissecção ou bipartição F(x) = 0Dados dois pontos x=a e x=b tais que F(a).F(b) < 0 edada a tolerânica Δx, então o número de iterações Npode ser calculado a priori pela fórmula

Δxa b

N

−⎛⎝⎜

⎞⎠⎟=⎛⎝⎜

⎞⎠⎟

12

algoritmo:calcule o número de iterações N

( )N

x a b=

−log /log( / )Δ

1 2para k = 1, 2, 3, ..., N repita

x a bm = +( ) / 2se F(xm).F(a) ≥ 0 então a = xm senão b = xm

Métodos para solução de equações algébricas não-lineares - Métodos fechados

a b

f(x)

xPonto médio

Próxima estimativa do método da bissecção

Método da Bissecção

f(a)

f(b)

Page 14: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

14

Métodos para solução de equações algébricas não-lineares - Métodos fechados

M étodo da falsa posição (regula-falsi) F(x) = 0

Dados dois pontos x=a e x=b tais que F(a).F(b) < 0

xa F b b F a

F b F am =−−

. ( ) . ( )( ) ( )

se F(xm).F(a) ≥ 0 então a =xmsenão b= xm

Métodos para solução de equações algébricas não-lineares - Métodos fechados

a b

f(x)

x

Ponto de interssecção

Próxima estimativa do método da falsa posição

Método da Falsa Posição

f(a)

f(b)

Page 15: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

15

Métodos para solução de equações algébricas não-lineares - Métodos fechados

Nesta forma, o método da falsa posição se aproxima da raiz por apenas um dos lados do intervalo,para funções monotônicas.Há algumas modificações que procuram uma aproximação por ambos os lados da raiz. P.ex.

Modificação (1):

a inclinação calculada no primeiro intervalo α =−−

F b F ab ao o

o o

( ) ( ) é mantida em todas as demais iterações.

Modificação (2)Dados ao , bo tais que F(ao).F(bo) < 0P = F(ao) Q = F(bo)Para k = 1, 2, 3, .... até convergir, faça

wa Q b P

Q Pkk k

+ =−−1

se F(ak).F(wk+1) < 0 entãoak+1 = akbk+1 = wk+1Q = F(wk+1)Se F(wk).F(wk+1) > 0 então P = P/2

Senãoak+1 = wk+1bk+1 = bkP = F(wk+1)Se F(wk).F(wk+1) > 0 então Q = Q/2

Métodos para solução de sistemas de equações diferenciais ordinárias

As equações diferenciais ordinárias de valor inicial são comumenteencontradas nos modelos dinâmicos de processos. São representadasgenericamente por:

dydt

f t y y t t yo o= = =( , ) ( )

Métodos de passo simplesAlgoritmos que usam a informação do ponto atual (yi ) para calcularo próximo ponto (yi+1 )

Métodos de passo múltiploAlgoritmos que usam a informação do ponto atual e de pontosanteriores (yi-k ,.., yi-2 , yi-1 , yi) para avaliar a solução no próximo ponto (yi+1)

Page 16: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

16

Métodos para sistemas de equações diferenciais ordinárias

Euler explícito y y hf t y o hi i i i+ = + +12( , ) ( )

Euler implícito y y hf t y o hi i i i+ + += + +1 1 12( , ) ( )

Euler melhorado y y hf t y f t y

o hi ii i i i

++ += +

++1

1 1 3

2( , ) ( , )

( )

O método implícito requer um processo iterativo para calcular yi+1 , ou sejarequer a solução de uma equação implícita em yi+1.

O método de Euler melhorado, também conhecido por regra trapezoidal,é implícito, tem erro de truncamento menor, o(h3), e requer duas avaliaçõesda função f por passo de integração.

Métodos para sistemas de equações diferenciais ordinárias

N otar que o(h n) den ota o erro local de trun cam en to, isto é, o erro com etidopelo fato de a fórm ula ser um a aproxim ação, baseada n o trun cam en to dasérie de T aylor .

Por exem plo, a partir da expan são em série de Taylor , o valor de y n asvizinh an ças de t é dado por:

y t h y t hdydt

o ht

( ) ( ) ( )+ = + + 2

que resulta n o m étodo de Euler explícito.

Se a expan são de Taylor de y é feita na vizinhan ças de t+h, resulta em :

y t y t h hdydt

o ht h

( ) ( ) ( )= + − ++

2

que, devidam ente rearran jado, resulta na fórm ula do m étodo de E ulerim plícito.

Page 17: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

17

Métodos para sistemas de equações diferenciais ordinárias

Reescrevendo as duas expansões de Taylor:

y t h y t hdydt

h d ydt

h d ydt

h d ydtt t t t

( ) ( )! ! !

...+ = + + + + +2 2

2

3 3

3

4 4

42 3 4

y t h y t hdydt

h d ydt

h d ydt

h d ydtt h t h t h t h

( ) ( )! ! !

...+ = + − + − ++ + + +

2 2

2

3 3

3

4 4

42 3 4quando somadas membro a membro

y t h y th dy

dtdydt

h d ydt

d ydt

h d ydt

d ydt

h d ydt

d ydtt t h t t h t t h t t h

( ) ( ). ! . ! . !

...+ = + +⎡

⎣⎢⎢

⎦⎥⎥+ −

⎣⎢⎢

⎦⎥⎥+ +

⎣⎢⎢

⎦⎥⎥+ −

⎣⎢⎢

⎦⎥⎥+

+ +

+ +

2 2 2 2 3 2 4

2 2

2

2

2

0

3 3

3

3

3

4 4

4

4

4

01 2444 3444 1 2444 3444

os termos de expoentes pares de h tendem a se cancelar resultando, que o maior termo truncado é o(h3).

Interpretação

y y f t y dt

t t f t yt t f t y

t tf t y f t y

i it

t

i i i i

i i i i

i ii i i i

i

i

+

+

+ + +

++ +

= +

−−

−+⎡

⎣⎢⎤⎦⎥

+

∫1

1

1 1 1

11 1

1

2

( , )

( ) ( , )( ) ( , )

( )( , ) ( , )

1 24 34

Métodos para sistemas de equações diferenciais ordinárias

Métodos de Runge-Kutta

Os métodos de Runge-Kutta são uma família de métodos em passo simples e baixo errode truncamento, às custas de um maior número de avaliações da função f por passo.A fórmula geral dos métodos de Runge-Kutta é

y y w k

k h f t c h y a k

c

i i j jj

v

j i j i jm mm

v

+=

=

= +

= + +⎛⎝⎜

⎞⎠⎟

=

11

1

1

1 0

. ,

Os parâmetros do método (wj, (j=1,2,.. v), cj (j=2,3,...v), ajm (j=1,2,3,...v)(m=1,2,...v-1),num total de v+(v-1)+(1+2+3+...+v-1) são determinados identificando a fórmulageral com a correspondente expansão de Taylor, sendo alguns dos parâmetros arbitradosou especificados.

Page 18: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

18

Métodos para sistemas de equações diferenciais ordinárias

Exemplos de métodos tipo Runge-Kutta

(1) Runge-Kutta clássico

( )( )( )( )

[ ]

k h f t y

k h f t h y k

k h f t h y k

k h f t h y k

y y k k k k

i i

i i

i i

i i

i i

1

2 1

3 2

4 3

1 1 2 3 4

0 5 0 5

0 5 0 5

16

2 2

=

= + +

= + +

= + +

= + + + ++

. ,

. , , ,

. , , ,

. ,

Métodos para sistemas de equações diferenciais ordinárias

(2) Runge-Kutta-Gill

( )( )( )( )

[ ]

k h f t y

k h f t h y k

k h f t h y ak bk

k h f t h y ck dk

y y k bk dk k

a

i i

i i

i i

i i

i i

1

212

12 1

312 1 2

4 2 3

1 1 2 3 4

16

2 2

2 12

2 22

22

22

=

= + +

= + + +

= + + +

= + + + +

=−

=−

+

. ,

. ,

. ,

. ,

b c = - d = 1 +

Page 19: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

19

Métodos para sistemas de equações diferenciais ordinárias

(3) Runge-Kutta-Merson

( )( )( )( )( )

[ ]

k h f t y

k h f t h y k

k h f t h y k k

k h f t h y k k

k h f t h y k k k

y y k k k o h

k

i i

i i

i i

i i

i i

i i

113

213

13 1

313

13

12 1

12 2

413

12

38 1

98 3

513

32 1

92 3 4

1 1 4 55

15 1

612

4

=

= + +

= + + +

= + + +

= + + − +

= + + + +

= −

+

. ,

. ,

. ,

. ,

. ,

( )

estimativa do erro de truncamento [ ]92 3 4

12 54k k k+ −

Métodos para sistemas de equações diferenciais ordinárias

(4) Runge-Kutta-Fehlberg (RKF45)

( )( )( )( )( )

k h f t y

k h f t h y k

k h f t h y k k

k h f t h y k k k

k h f t h y k k k k

k h f t h y k k k

i i

i i

i i

i i

i i

i i

1

214

14 1

338

332 1

932 2

41213

19322197 1

72002197 2

72962197 3

5439216 1 2

3680513 3

8454104 4

612

827 1 2

35442565 3

18594104

8

2

=

= + +

= + + +

= + + − +

= + + − + −

= + − + − +

. ,

. ,

. ,

. ,

. ,

. ,( )k k

y y k k k k o hz y k k k k k o h

tolz y

i i

i i

i i

41140 5

125

216 114082565 3

21974101 4

15 5

4

116135 1

665612825 3

2856156430 4

950 5

255 6

5

1 12

= + + + − +

= + + + − + +

⎝⎜⎜

⎠⎟⎟

+

+

+ +

( )( )

o passo otimo pode ser estimado por

h =h

onde tol = tolerancia do controle do erroi+1i

1/4

Page 20: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

20

Métodos para sistemas de equações diferenciais ordinárias

Métodos de passo múltiplo

Os métodos de passo múltiplo utilizam os k últimos pontos-k , yi-k+1 , ..., yi-2 , yi-1 , yi para calcular o p´roximo ponto yi+1

y a y h b f t yi j i jj

k

j i j i jj

k

+ −=

− −=−

= +∑ ∑10 1

( , )

As constantes aj e bj são determinadas de modo que um polinômio de grau (2k+2)interpole a solução pelos últimos pontos, arbitrando-sealgumas delas.

Notar que se b-1 = 0 leva a um método explicíto e b-1 ≠ 0 leva a ummétodo implícito.Usualmente usa-se um método explícito para prever um valor de pi+1 (preditor).Esta previsão é então corrigida por um procedimento iterativo usando um métodoimplícito (corretor).Esta combinação leva aos chamados métodos tipo preditor-corretor.

Métodos para sistemas de equações diferenciais ordinárias

Exemplos:Adams-Bashforth-Moulton preditor

[ ]y y h f f f f o hi i i i i i+ − − −= + − + − +11

24 1 2 3555 59 37 9 ( )

Adams-Bashforth-Moulton corretor

[ ]y y h f f f f o hi i i i i i+ + − −= + + − + +11

24 1 1 259 19 5 ( )

Milne preditor

[ ]y y h f f f o hi i i i i+ − − −= + − + +1 343 1 2

52 2 ( )Milne corretor

[ ]y y h f f f o hi i i i i+ − + −= + + + +1 113 1 1

54 ( )

Notar também que os métodos de passo múltiplo não são autoiniciáveis, requerendo portantoo uso de métodos de passo simples para os primeiros k passos de integração.

Outra dificuldade dos algoritmos de passo múltiplo é com relação à mudança do tamanho do passo,que não é trivial (as fórmulas mostradas acima pressupõe passo h constante).

Page 21: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

21

Métodos para sistemas de equações diferenciais ordinárias

EstabilidadeA solução da equação diferencial (dy/dt) = f(t,y) = - λy, usando a expansão em série de Taylor, seria dadapor:

y t y t h f t y th y

t tk k k k kk k

k k k( ) ( ) ( , ( ))"( )!+ += + + < <1

2

12ξ

ξ

A solução numérica aproximada obtida por um método numérico, por exemplo o método de Eulerexplícito, seria dada por:

y y h f t ykEM

kEM

k k kEM

+ = +1 ( , )

Subtraindo as duas expressões anteriores:

[ ]

[ ]

[ ][ ]

y t y y t y h f t y t f t yh y

y t y h y t yh y

y t y hh y

k kEM

k kEM

k k k k kEM k k

k kEM

k k kEM k k

k kEM

kk

( ) ( ) ( , ( )) ( , )"( )!

( ) ( )"( )!

( )"(

+ +− = − + − +

= − + − +

= − − +

1 1

2

2

2

2

2

1

erro global em t

erro global em t

fator de amplificaçao

do erro

k +1

k

1 244 344

1 244 344 124 34

ξ

λξ

λξk )

!2erro local detruncamento

1 24 34

Métodos para sistemas de equações diferenciais ordinárias

Portanto, se 1 1− >hλ o erro cresce com k. Ou seja, para a estabilidade do método de Eulerexplícito,é necessário que 1 1− ≤hλ , ou equivalentemente, 0 ≤ hλ ≤ 2Se 0 ≤ hλ ≤ 1, então o erro de arredondamento oscila.

Repetindo esta análise para outros métodos, temos

Fator deamplificação do

erro

Método Estável e semoscilação do sinal

do erro

Estável, comoscilação do sinal

do erro

Instável

( )1− hλ Euler explícito 0 < hλ < 1 1 < hλ < 2 2 < hλ

11

1212

−+

⎛⎝⎜

⎞⎠⎟

hhλλ

Trapézio 0 < hλ < 2 2 < hλ -------

11+⎛⎝⎜

⎞⎠⎟hλ

Euler implícito 0 < hλ ------- -------

Page 22: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

22

Métodos para sistemas de equações diferenciais ordinárias

Rigidez (“stiffness”)

O problema de rigidez numérica de sistemas de EDO´s está relacionado com o fato de as variáveis (ou suascomponentes) apresentarem diferentes dinâmicas, isto é variações com escalas de tempo muito diferentes.Exemplificaremos usando um exemplo de cinética química.

Considere a seguinte equação diferencial ordinária:dudt

u u t11 1 0 15= − = = ( ) ,

na qual λ = 1, portanto a solução pelo método de Euler explícito será estável e sem oscilação se ⏐h⏐<1.

Considere ainda a equação diferencial ordinária:dudt

u u t22 21000 0 0 5= − = = ( ) ,

na qual λ=1000, portanto a solução pelo método de Euler será estável e sem oscilação se ⏐h⏐< 0,001

Métodos para sistemas de equações diferenciais ordinárias

Considere agora o sistema de EDO´s:dydt

dudt

dudt

e e y y

dydt

dudt

dudt

e e y y

t t

t t

1 1 2 10001 2

2 1 2 10001 2

15 500 500 5 499 5

15 500 499 5 500 5

= + = − − = − +

= − = − + = + −

− −

− −

, , ,

, , ,que pode ser escrito na forma:d ydt

A yyy y t= =

− ++ −⎡⎣⎢

⎤⎦⎥⎡⎣⎢

⎤⎦⎥

= = ⎡⎣⎢⎤⎦⎥

. , ,, , ( )500 5 499 5

499 5 500 5 0 21

1

2

e cuja solução éy u u e ey u u e e

t t

t t1 1 2

1000

2 1 21000

1 5 0 51 5 0 5

= + = +

= − = −

− −

− −

, ,, ,

Page 23: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

23

Métodos para sistemas de equações diferenciais ordinárias

O maior autovalor (em valor absoluto) da matriz A determina opasso de integração máximo do sistema. Os autovalores da matriz Asão obtidos por:

det , ,, ,

− − ++ − −

⎡⎣⎢

⎤⎦⎥= ⇔

⇔ + + = ⇔= −= −

⎧⎨⎩

500 5 499 5499 5 500 5 0

1001 1000 010001

2 1

2

λλ

λ λλλ

A estabilidade da solução do sistema de EDO´s é definido pelomaior autovalor (em módulo) da matriz dos coeficientes do sistemah < 1/⏐λ⏐max (no caso,para solução estável e sem oscilação, h < 1/1000 = 0,001).

Se o sistema de EDO´s for não-linear, a análise de estabilidade deve serfeita via linearização do sistema; neste caso, os autovalores da matriz J(matriz jacobiana do sistema, cujos elementos são J f yij i j= ( / )∂ ∂ ) variam com t.

Métodos para sistemas de equações diferenciais ordinárias

Define-se relação de rigidez (“stiffness ratio”)

SR i i

i i

=max

min

parte real de

parte real de

λ

λe valores típicos que definem a rigidez são:SR = 20 sistema não-stiffSR = 103 sistema stiffSR = 106 sistema muito stiff.

Sistemas rígidos requerem métodos apropriados para sistemas “stiff”,p. Ex. o método de Gear,os métodos BDF (“backward differentiation formulas” ), que são implícitos,ou métodos semi-implícitos (p.ex. o método Runge-Kutta semi-implícito de Michelsen) .

Page 24: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

24

Métodos para sistemas de equações diferenciais ordinárias

Método de Runge-Kutta semi-implícito

Para uma equação diferencial autônoma, do tipo dydt

f y= ( )

y y w k

k h f y a k

n n i ii

m

i n ij jj

i

+=

=

= +

= +

11

1. ( )

ou sejay y w k w k w kk h f y a kk h f y a k a kk h f y a k a k a k

n n

n

n

n

+ = + + + += += + += + + +

1 1 1 2 2 3 3

1 11 1

2 21 1 22 2

3 31 1 32 2 33 3

.... ( ). ( ). ( )

...

Métodos para sistemas de equações diferenciais ordinárias

expandindo em série de Taylor a função f com Δ=aiiki

.....1

1

1

11++⎟⎟

⎞⎜⎜⎝

⎛+=⎟⎟

⎞⎜⎜⎝

⎛+=

⎟⎟⎠

⎞⎜⎜⎝

⎛∑+

== −

=

∑∑ iiikay

i

jjijn

i

jjijni ka

yfhkayfhkayfhk

i

jjijn

∂∂

e desprezando os termos de ordem superior, chega-se a

⎟⎠⎞

⎜⎝⎛ ∑+=

⎥⎥⎥

⎢⎢⎢

∑−

=⎟⎟

⎜⎜

⎛+

=

1

1.1

1

1

i

jjijni

kayii kayfhk

yfha

i

jjijn

∂∂

resolvendo explicitamente para ki obtem-se

⎟⎟

⎜⎜

⎛+

=

∑−

⎟⎠⎞

⎜⎝⎛ ∑+

=

=

1

1

..1

.1

1

i

jjijn kay

ii

i

jjijn

i

yfah

kayfhk

∂∂

Page 25: Modelagem e Métodos Matemáticos Aplicados à … · 2 Métodos para solução de sistemas de equações algébricas lineares ax a x ax ax b ax a x ax a x b ax a x a x a x b nn nn

25

Analogamente para um sistema de equações diferenciais:

[ ] ( )[ ] ( )[ ] ( )

I h a J k h f y

I h a J k h f y a k

I h a J k h f y a k a k

y y w k w k w k

n

n

n

n n

− =

− = +

− = + +

= + + + ++

. .

. .

. .

...

11 1

22 2 21 1

33 3 31 1 32 2

1 1 1 2 2 3 3

M

e usualmente, arbitra-se a11 = a22 = a33 = ... = a

Um exemplo é o método Runge-Kutta semi-implícito de Michelsen (implementadoem FORTRAN na subrotina STIFF3, no livro de Villadsen e Michelsen, 1979)

[ ] ( )[ ] ( )[ ]

k h I ha J f y

k h I ha J f y bk

k h I ha J ck d k

y y R k R k R k

n

n

n n

1

1

2

1

1

3

1

1 2

1 1 1 2 2 3 3

= −

= − +

= − +

= + + +

+

.

.

( )

a = 0,435867... b = 0,75 c = -0,630172... d = -0,2435...R1 = 1,03758 R2 = 0,83494 R3 = 1