%     Metodo de Runge-Kutta de terceira ordem
function rk3
clc
clear all
format long
% y(a) = y(Xo) = Yo (cond. inicial)
% y(b) = y(Xn) = Yn (queremos calcular)
h = input('Entre com o valor de h: ');
x(1) = input('Entre com o valor de Xo: ');
y(1) = input('Entre com o valor de Yo: ');	
xf = input('Entre com o valor de x final: ');
n = (xf-x(1))/h;
for i=1:n
	  mo = f(x(i)     ,   y(i)       ) * h;
      m1 = f(x(i)+h/2 , y(i)+mo/2    ) * h;
      m2 = f(x(i)+h   , y(i)-mo+2*m1 ) * h;
	  x(i+1) = x(i) + h;
      y(i+1) = y(i) + (mo+4*m1+m2)/6;
end
disp ('O valor do x final foi: ');
disp (x(n+1))
disp ('O valor do y final foi: ');
disp (y(n+1))
 figure(1)
 plot(x,y);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function f=f(x,y)	
      f=-x*y;
