% Integrate the general problem du/dt = Au forward in time
% using a 2-stage Runge-Kutta integration given:
%
% dt: timestep
% Tf: final time
% uinit: initial vector
%
% The numerical approximation is placed in the vector v
%

% Set initial condition into v
v(:,1) = uinit;
n = 1;
t(1) = 0;

% Integrate using 2-stage Runge-Kutta

while (t(n) < Tf),
  vtmp     = v(:,n) + 0.5*dt*A*v(:,n);
  v(:,n+1) = v(:,n) +     dt*A*vtmp;
  t(n+1) = t(n) + dt;
  n = n + 1;
end



