You are on page 1of 12

UNIVERSIDADE FEDERAL DO ESPRITO SANTO CENTRO TECNOLGICO DEPARTAMENTO DE ENGENHARIA ELTRICA

ESTUDO DOS MTODOS DE RUNGE KUTTA ADAPTATIVOS

VITRIA 2008

DANIEL RICARDO CELINO ISRAEL BUZETTI SOBRINHO JOS EDUARDO MOREIRA S. SILVA

ESTUDO DOS MTODOS DE RUNGE KUTTA ADAPTATIVOS

Relatrio apresentado disciplina de Calculo Numrico para Graduao em Engenharia Eltrica da Universidade Federal do Esprito Santo.

VITRIA 2008

Introduo
Este trabalho tem como objetivo estudar e implementar mtodo de Runge-Kutta (RK) adaptativo e Mtodo Runge-Kutta Fehlberg para a resoluo de problemas de valor inicial (PVI) de equaes diferenciais ordinrias usando o OCTAVE/MATLAB. So dois mtodos utilizados em funes que tem grandes variaes pois no primeiro h a correo em cada passo e no segundo o ajuste do valor de cada passo.

Estudo dos mtodos Mtodo Runge-Kutta Uma pequena anlise a cerca do mtodo RK4 que utilizado nos mtodos adaptativo e Fehlberg. Um membro da famlia de mtodos RungeKutta usado com tanta frequncia que costuma receber o nome de "RK4" ou simplesmente "o mtodo Runge Kutta". Seja um problema de valor inicial (PVI) especificado como segue:

Ento o mtodo RK4 para este problema dado pelas seguintes equaes:

onde yn + 1 a aproximao por RK4 de y(tn + 1), e

Ento, o prximo valor (yn+1) determinado pelo valor atual (yn) somado com o produto do tamanho do intervalo (h) e uma inclinao estimada. A inclinao uma mdia ponderada de inclinaes:

k1 a inclinao no incio do intervalo;

k2 a inclinao no ponto mdio do intervalo, usando a inclinao k1 para determinar o valor de y no ponto tn + h/2 atravs do mtodo de Euler;

k3 novamente a inclinao no ponto mdio do intervalo, mas agora usando a inclinao k2 para determinar o valor de y;

k4 a inclinao no final do intervalo, com seu valor y determinado usando k3.

Ao fazer a mdia das quatro inclinaes, um peso maior dado para as inclinaes no ponto mdio:

O mtodo RK4 um mtodo de quarta ordem, significando que o erro por passo da ordem de h5, enquanto o erro total acumulado tem ordem h4. Note que as frmulas acima so vlidas tanto para funes escalares quanto para funes vetoriais (ou seja, quando y pode ser um vetor e f um operador). Por exemplo, pode-se integrar a equao de Schrdinger usando o operador Hamiltoniano como funo f. Mtodo Runge-Kutta adaptativo Este mtodo utilizado para resolver funes que tem grandes variaes em intervalos de tamanho pequeno, pois nessas circunstncias os mtodos normais no apresentam bons resultados, o mtodo adaptativo como o nome j sugere vai se adaptando a curva com as correes que vo sendo feitas.

Figura 1 (Exemplo de funo)

O mtodo consiste em utilizar RK de quarta ordem em diferentes passos para resolver o PVI, da seguinte forma: Primeiro resolve-se utilizando um passos simples (h) depois utilizando meio passo (h/2), como os passos so diferentes a funo tem valores diferentes, e seja y1 a funo com passo simples e y2 a funo com meio passo o erro dado por:

= y2-y1

Fazendo a correo tem-se o novo valor de y2

y2

y2 + /15

Mtodo Runge-Kutta Fehlberg

Em funes que possuem curvas muito acentuadas em pequenos intervalos como a da figura 1 esse mtodo apresenta bons resultados. Nesses intervalos que contm a curva, devem-se utilizar passos menores a fim de poder calcular os pontos da funo com uma maior preciso. Porm, como passo menor esforo computacional maior, por isso este mtodo tem como objetivo variar o tamanho do passo de acordo com a inclinao da curva. Este mtodo funciona da seguinte forma, primeiro ele implementa

procedimentos para verificar se o valor do passo de integrao h adequado. Em cada iterao, so obtidas duas aproximaes para a soluo y(x) . se as duas resposta satisfazem uma preciso pr estabelecida, a aproximao aceita. Se no o tamanho do passo de integrao reduzido e uma nova iterao realizada. Se as duas respostas possuem mais dgitos significativo do que o requerido, o valor de passo de integrao aumentado e uma nova iterao realizada.

Para isso utilizado o mtodo RK de quarta ordem e RK de quinta ordem com as respectivas frmulas a seguir:

Para fazer o controle do to tamanho do passo utiliza-se a funo abaixo que determina o valor ideal

onde

a preciso desejada. O valor do passo de integrao obedece a seguinte . Onde e so os limites mnimo e mximo

relao:

permitidos para a variao do passo de integrao.

Pseudo-algoritmo do programa principal

Entre xi, xf, yi, dy # Valores iniciais Maxstep = 100 # Nmero Maximo de passos hi = 5 ; tiny = 0.001 # eps = 0.00005 #preciso print xi, Yi e

x = xi y=Yi h=hi istep=0 DO IF (istep > maxstep AND x =< xf) EXIT # se as circunstncias forem # aceitas encerra o programa istep = istep + 1 CALL Derivs ( x, y, dy) #Resolve o PVI nos pontos yscal = ABS(y) + ABS(h * dy) + tiny IF (x + h > xf) THEN h = xf x #Compara para ver esta dentro do intervalo CALL Adapt(x,y,dy,h,yscal,eps,hnxt) #Esta funo da como resultado o #valor do prximo h. PRINT x,y h=hnxt END DO END

Pseudo-algoritmo da sub-rotina que escolhe o passo no tempo

SUB Adapt(x,y,dy,h,yscal,eps,hnxt) PARAMETER (safety = 0.9, econ = 1.89e-4) h=htry DO CALL RKkc(y,dy,h.ytemp,yerr) # Resolve o PVI pelo metodo RK emax = abs (yerr/yscal/eps) #define erro maximo IF emac =< 1 EXIT # se o erro menor igual a 1 fim htemp = safety * h * emax -0.25 h =max (abs (htemp), 0.25 * abs (h))

xnew=x+h IF xnew = x+h pause # se a condiao for aceita para o DO END DO IF emax > econ THEN # essa parte ajusta o erro hnxt = safety*emax-2 * h ELSE hnxt = 4*h END IF x=x+h y = ytemp END Adapt

Concluso

Neste relatrio foi estudado dois mtodos para resoluo de PVI`s no adaptativo se utiliza um ajuste para tornar o valor mais exato, j no Fehlberg se altera o valor do passo tornando assim as solues mais exatas, foi analisado tambm o algoritmo do mtodo de Fehlberg bem como o algoritmo de controle de passo.

Bibliografia [1] Steven C. Chapa e Raymond P. Canale, Numerical Methods for Engineers with Programming and Software Applications, Ed. McGraw-Hill, Fifth Edition, 2006. [2] William H. Press, Saul A. Teukolsky, William T. Vetterling e Brian P. Flannery, Numerical Recipes in C - The Art of Scientific Computing, Second edition, 2nd ed., Cambridge Press, 1992 [3] <http://pt.wikipedia.org/wiki/M%C3%A9todo_de_Runge-Kutta> [4] <http://ceprofs.tamu.edu/jzhang/cven-302/chap19.ppt>

You might also like