Você está na página 1de 12

Mtodos Computacionais em Engenharia

Actividade n 3 - Mtodos
Numricos, Euler e Runge-Kutta

Andr Filipe Ferreira Maralo


N 21180357
andremarcalo@gmail.com
27 Dezembro de 2011

ndice
Mtodos Computacionais em Engenharia ..................................................................... 1
1. Introduo ................................................................................................................... 3
1.1 Enunciado da actividade proposta e interpretao do mesmo ............................. 3
1.2 Definio de PVI ................................................................................................... 3
2. Mtodos Numricos para resoluo de PVI ............................................................... 4
2.1 Mtodo de Euler .................................................................................................... 4
2.1.1 Frmulas ........................................................................................................ 4
2.1.2 Algoritmo/Funo ........................................................................................... 4
2.2 Mtodo de RK2 ..................................................................................................... 5
2.2.1 Frmulas ........................................................................................................ 6
2.2.2 Algoritmo/Funo ........................................................................................... 7
2.3 Mtodo de RK4 ..................................................................................................... 7
2.3.1 Frmulas ........................................................................................................ 7
2.3.2 Algoritmo/Funo ........................................................................................... 8
3. Exemplos de aplicao e teste dos mtodos ............................................................. 8
3.1 Exerccio Teste de suporte ................................................................................... 8
3.1.1 PVI - Equao Diferencial de 1 ordem e Condies Iniciais ......................... 8
3.1.2 Exemplos de output - GUI com grfico e tabela ............................................. 8
3.2 Exerccio 3 do um teste B 2007/2008 ................................................................. 10
3.2.1 PVI - Equao Diferencial de 1 ordem e Condies Iniciais ....................... 10
3.2.2 Exemplos de output - GUI com grfico e tabela ........................................... 10
4. Concluso ................................................................................................................. 11

1. Introduo
1.1 Enunciado da actividade proposta e interpretao do mesmo
Em complemento actividade n 3, foi-nos proposta a comparao dos vrios
mtodos numricos existentes (Euler, RK2, RK4) para a resoluo de problemas de
valor inicial (PVI).
Esta actividade teve o intuito de desenvolver as nossas capacidades de
programao em Matlab assim como avaliar os nossos conhecimentos adquiridos
sobre os diversos mtodos numricos abordados.

1.2 Definio de PVI


Um problema com uma equao diferencial satisfazendo algumas condies
adicionais denominado Problema de Valor Inicial (PVI). Se so conhecidas
condies adicionais, podemos obter solues particulares para a equao diferencial
e se no so conhecidas condies adicionais poderemos obter a soluo geral.
Um problema de valor inicial pode ser definido da seguinte forma. Sendo x x0
um parmetro que varia de forma independente no problema e y(x) uma funo da
varivel x, a funo y(x) ser determinada, num problema de valor inicial, a partir da
soluo da equao diferencial ordinria de ordem n.

Juntamente com as condies iniciais.

Sendo F() um funcional qualquer de y(x) e as suas derivadas at ordem n,


f(x) uma funo de x, g0(),,gn-1() funcionais das condies iniciais y(x0),,y(n1)(x0) e a 0,,an-1 constantes. Em problemas realsticos na fsica, geralmente os

funcionais g0,,gn-1 so lineares em


ser no linear em

mas o funcional F pode

2. Mtodos Numricos para resoluo de PVI


2.1 Mtodo de Euler
um procedimento numrico de primeira ordem para solucionar equaes
diferenciais ordinrias com um valor inicial dado. o tipo mais bsico de mtodo
explcito para integrao numrica para equaes diferenciais ordinrias.
2.1.1 Frmulas
Equao diferencial de primeira ordem:

Parte do princpio que alguma coisa sobre a funo conhecida prximo ao ponto
.
O valor da funo no ponto inicial:
O valor da sua derivada:
Considera-se o ponto

suficientemente prximo de

tal que:

A srie de Taylor at ao primeiro termo aproxima suficientemente bem a funo,


chamando

Valores conhecidos:

Viso

Geomtrica

2.1.2 Algoritmo/Funo
function y = N_euler(f,a,b,n,y0)
h
= (b-a)/n;
t(1) = a;
y(1) = y0;
for i=1:n,
y(i+1) = y(i)+h*feval(f,t(i),y(i));
t(i+1) = t(i)+h;
end

2.2 Mtodo de RK2

Runge Kutta um dos mtodos mais populares para a integrao da


equao diferencial de primeira ordem. Esses mtodos de aproximao de uma
funo usam se atravs da expanso da srie de Taylor. Desta forma, o mtodo de
Runge - Kutta de primeira ordem utiliza-se atravs da expanso de Taylor de primeira
ordem, o mtodo de Runge - Kutta de segunda ordem utiliza-se atravs da expanso
de Taylor de segunda ordem, e, assim por diante. Lembrando que o mtodo de Euler
equivalente ao mtodo de Runge - Kutta de primeira ordem.

2.2.1 Frmulas

Existem duas formas de se aplicar o mtodo de Runge-Kutta de Segunda


Ordem para Equaes Diferenciais de Primeiro Grau. Podemos escolher entre entre
essas duas formas. Ambas so apresentadas abaixo. Na primeira forma definimos:

Resumindo, temos quanto vale o primeiro valor x para o qual corresponde o primeiro
valor de y. Ento sabemos calcular k1. Obtendo k1 podemos calcular k2, pois onde
entrava x e y substituiremos pelos novos valores de x e de y expressos como devem
ser calculados na forma de f que aparece no k2. Assim chegaremos ao valor de k2.
Tendo esses novos nmeros em mos, podemos obter os prximos x e y.
Numericamente, ento, a sequncia que temos que seguir a seguinte:
1. Fixar h, tendo xo e yo como entrada;
2. Temos que saber como se escreve a funo F(x,y);
3. Calcular k1 para xo e yo;

4. Calcular k2;
5.

Finalmente calcular o prximo valor de y que ser y1;

6. O prximo valor de x ser x1=xo+h;


7. Recomeamos do item 3, substituindo xo e yo por x1 e y1 respectivamente, e
assim em seguida temos o ponto final x que queremos.

2.2.2 Algoritmo/Funo
function y = N_RK2(f,a,b,n,y0)
h = (b-a)/n;
t(1) = a;
y(1) = y0;
for i=1:n,
t(i+1) = t(i)+h;
k1 = h*f(t(i),y(i));
k2 = h*f(t(i+1),y(i)+k1);
y(i+1) = y(i)+1/2*(k1+k2);
end

2.3 Mtodo de RK4


A resoluo numrica de sistemas no lineares precisa de mtodos melhores
que o mtodo de Euler. No mtodo de Runge-Kutta de ordem 4, o valor mdio da
derivada no intervalo de tempo h calcula-se usando informao em quatro pontos.

2.3.1 Frmulas

A diferena em relao ao mtodo de segunda ordem que temos agora dois novos
passos, que so definidos como k3 e k4.

2.3.2 Algoritmo/Funo
function y = N_RK4(f,a,b,n,y0)
h = (b-a)/n;
t(1) = a;
y(1) = y0;
for i=1:n,
t(i+1) = t(i)+h;
k1 = h*f(t(i),y(i));
k2 = h*f(t(i)+h/2,y(i)+1/2*k1);
k3 = h*f(t(i)+h/2,y(i)+1/2*k2);
k4 = h*f(t(i)+h,y(i)+k3);
y(i+1) = y(i)+1/6*(k1+2*k2+2*k3+k4);
end

3. Exemplos de aplicao e teste dos mtodos


3.1 Exerccio Teste de suporte
3.1.1 PVI - Equao Diferencial de 1 ordem e Condies Iniciais
3.1.2 Exemplos de output - GUI com grfico e tabela
Para:
n=3

y= y+t

y(0) = 1

t [0,3]

Para:
n=6

y= y+t

y(0) = 1

t [0,3]

Para:
n = 12

y= y+t

y(0) = 1

t [0,3]

3.2 Exerccio 3 do um teste B 2007/2008


3.2.1 PVI - Equao Diferencial de 1 ordem e Condies Iniciais

3.2.2 Exemplos de output - GUI com grfico e tabela


a)

b)

function y = N_euler(f,a,b,n,y0)
h
= (b-a)/n;
t(1) = a;
y(1) = y0;
for i=1:n,
y(i+1) = y(i)+h*feval(f,t(i),y(i));
t(i+1) = t(i)+h;
end

function y = N_RK2(f,a,b,n,y0)
h = (b-a)/n;
t(1) = a;
y(1) = y0;
for i=1:n,
t(i+1) = t(i)+h;
k1 = h*f(t(i),y(i));
k2 = h*f(t(i+1),y(i)+k1);
y(i+1) = y(i)+1/2*(k1+k2);
end

4. Concluso
Concluindo, podemos afirmar que qualquer um dos mtodos directamente
influenciado pelo n, nmero de iteraes ou divises da aproximao. Quando maior
o nmero de iteraes, menor o erro associado, ou seja, mais preciso.
O mtodo de Euler o menos preciso nas aproximaes do valor, tendo o
maior erro de todos eles, sendo a sua soluo bastante distante da soluo exacta. A
razo de tal erro deve-se ao facto deste mtodo utilizar equaes de 1 grau, isto ,
rectas, nas quais em todo o intervalo h, o declive sempre igual ao declive no incio
do intervalo, o que aumenta o erro em grande escala. Num caso em que deveramos
optar por um destes mtodos, este seria logo de partida posto de lado por estas
razes.
O mtodo de Runge-Kutta de 2 Ordem, melhora as aproximaes feitas dado
que o seu erro cometido bem mais pequeno. Uma vez que a derivada no
constante no intervalo h, aproxima-se mais da soluo exacta.
O mtodo de Runge-Kutta de 4 Ordem assim o mais preciso, porque faz um
estudo mais pormenorizado da primeira derivada no intervalo, estimando-se o valor no
incio do intervalo, duas vezes no meio do intervalo, e estimando-se, tambm, o valor
no final desse intervalo. Deve ser ento o mais utilizado, embora contenha na mesma
um erro mas de valor to pequeno que pode ser desprezado.

Você também pode gostar