function [out]=fprint(ncase,neqn,t,u)
%
% Function fprint displays the numerical and exact 
% solutions to the linear PDE
%
% Declare global variables
  global nsteps;
%
% Return current value of independent variable
% (Matlab requires at least one return argument)
  out=t;
%
% Problem parameters
  xl=0.0;
  xu=1.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');
    end
%
% Heading 
  fprintf(' ncase = %2d   neqn = %2d \n\n',ncase,neqn);
  fprintf('    t      u(num)    u(exact)          diff\n');
%
% End of t = 0 heading
  end
%
% Numerical and analytical solution output 
%
%   Midpoint value of x 
    x=(xu-xl)/2.0;  
%
%   Analytical solution at midpoint 	
    ue=exp(-pi*pi*t)*sin(pi*x); 
%  	
%   Grid index of midpoint 
    im=round((neqn+1)/2);
%	
%   Display the numerical and exact solutions, and their difference 
    fprintf('%5.2f %11.6f %11.6f %13.4e\n',t,u(im),ue,u(im)-ue);

