  function uNext = CrankN(uNow,a,b,n,tc,deltaT,s)
% uNow is a column n-vector.
% a < b 
% n is a positive integer
% tc is the ``current time''.
% deltaT >0 is the time step. 
% s is a handle to a function of the form s(x,t)
% uNext is a column n-vector whose entries satisfy uNext(1) = uNow(1),
%     uNext(n) = uNow(n), and 


%  uNew(k) - uNow(k)      1   (uNew(k+1)-2*uNew(k)+uNew(k-1)) 
%  -----------------  =  ---  -----------------------------   + 
%      deltaT             2                h^2

%                         1   (uNow(k+1)-2*uNow(k)+uNow(k-1)) 
%                        ---  -----------------------------   + s(x(k),tc+deltaT/2)
%                         2                h^2

% for k=2:n-1 where 
h = (b-a)/(n-1);
x = linspace(a,b,n);
