function isicorr = isiserialcorr(isivec, maxlag) % serial correlation of interspike intervals % % isicorr = isiserialcorr(isivec, maxlag) % % Arguments: % isivec: vector of interspike intervals in seconds % maxlag: the maximum lag in seconds % % Returns: % 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(isivec) > lag+10 % ensure "enough" data % NOTE: the arguments to corr must be column vectors! % We insure this in the isis() function that % generates the isivec. isicorr(k) = corr(isivec(1:end-lag), isivec(lag+1:end)); end end if nargout == 0 % plot: plot(lags, isicorr, '-b'); hold on; scatter(lags, isicorr, 10.0, 'b', 'filled'); hold off; xlabel('Lag k') ylabel('\rho_k') end end