 function [out]=fprint(ncase,n,t,u)
%
% Function fprint displays the numerical and
% exact solutions to the 3 x 3 ODE problem
%
% Return current value of independent variable
% (Matlab requires at least one return argument)
  out=t;
%
% Problem parameters
  Ca0=1.0;
  k1=1.0;
  k2=2.0;
%
% Print a heading for the solution at t = 0 
  if(t<=0.0)
%
%   Label for ODE integrator
%
%   Fixed step modified Euler 
    if(ncase==1)
      fprintf('\n\n euler2a integrator\n\n');
% 
%   Variable step modified Euler
    elseif(ncase==2)
      fprintf('\n\n euler2b integrator\n\n');
%
%   Fixed step classical fourth order RK
    elseif(ncase==3)
      fprintf('\n\n rkc4a integrator\n\n');
%
%   Variable step classical fourth order RK 
    elseif(ncase==4)
      fprintf('\n\n rkc4b integrator\n\n');
%
%   Fixed step RK Fehlberg 45 
    elseif(ncase==5)		
      fprintf('\n\n rkc45a integrator\n\n');
%		
%   Variable step RK Fehlberg 45 
    elseif(ncase==6)
      fprintf('\n\n rkc45b integrator\n\n');
%
%   Fixed step RK (2,3) embedded pair
    elseif(ncase==7)     
      fprintf('\n\n ode23a integrator\n\n');
%		
%   Variable step RK (2,3) embedded pair
    elseif(ncase==8)
      fprintf('\n\n ode23b integrator\n\n');
%
%   Fixed step RK (4,5) embedded pair
    elseif(ncase==9)     
      fprintf('\n\n ode45a integrator\n\n');
%		
%   Variable step RK (4,5) embedded pair
    elseif(ncase==10)
      fprintf('\n\n ode45b integrator\n\n');
    end
%
% Heading
  fprintf('         t         u2        u2e     u2-u2e\n');
%
% End of t = 0 heading
  end
%
% Numerical and analytical solution output 
%
%   Analytical solution
    ue2=Ca0*k1/(k2-k1)*(exp(-k1*t)-exp(-k2*t));
%
%   Difference between exact and numerical solutions
    diff=u(2)-ue2;
%	
%   Display the numerical and exact solutions, and their difference 
    fprintf('%10.2f %10.5f %10.5f %10.5f \n',t,u(2),ue2,diff);
%
% End of fprint
