% Integrate the general problem du/dt = Au forward in time
% using a Backward Euler 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;

% Calculate inverse of I - dt*A matrix
Ginv = inv(eye(size(A)) - A*dt);

% Integrate using Backward Euler

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



