% Métodos Numéricos 2008-2009 - Carlos Balsa 
% Capítulo 7 - PVI para EDOs
% resolução dos exemplos 2, 3 e 4 pelos metodos 
%    - Euler
%    - Euler Modificado
%    - Runge-Kutta de 4ª ordem

clear all;
clf;

xi=0; xf=0.5;                  % intervalo de tempo  
x=[xi xf];
y0=-1;                         % condições iniciais
h=0.1;                         % passo de integração
nh=(xf-xi)/h;                  % numero de intervalos

f=@(x,y) -2*x-y;               % função derivada

[X,Ye]=ode_euler(f,x,y0,nh);   % Metodo de Euler Simples

[X,Yem]=ode_meuler(f,x,y0,nh); % Metodo de Euler Modificado

[X,Yrk]=ode45(f,[xi:h:xf],y0); % Runge-Kutta 4ª ordem

Yex=-3*exp(-X)-2*X+2;          % solução exacta

% grafico dos resultados obtidos 
plot(X,Ye,'*-r');  hold on;
plot(X,Yem,'s-b'); hold on;
plot(X,Yrk,'+-g'); hold on;
plot(X,Yex,'d-k'); hold on;
legend('Euler','Euler modificado','RK4','Sol. exacta',2);
grid on;
xlabel('x'); 
ylabel('y');


