function isicorr = isiserialcorr( isis, maxlag )
% serial correlation of interspike intervals
%
% isicorr = isiserialcorr( isis, maxlag )
%   isis: vector of interspike intervals in seconds
%   maxlag: the maximum lag in seconds
%   isicorr: vector with the serial correlations for lag 0 to maxlag

    lags = 0:maxlag;
    isicorr = zeros( size( lags ) );
    for k = 1:length(lags)
        lag = lags(k);
        if length( isis ) > lag+10        % ensure "enough" data
	    % DANGER: the arguments to corr must be column vectors!
            % We insure this in the isis() function that generats the isis.
            isicorr(k) = corr( isis(1:end-lag), isis(lag+1:end) );
        end
    end
    
    if nargout == 0
        % plot:
        plot( lags, isicorr, '-b' );
        hold on;
        scatter( lags, isicorr, 100.0, 'b', 'filled' );
        hold off;
        xlabel( 'Lag k' )
        ylabel( '\rho_k')
    end
end