Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Actividade n 3 - Mtodos
Numricos, Euler e Runge-Kutta
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.
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:
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.1 Frmulas
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.
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.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
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]
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.