function isicorr = isiserialcorr(isis, maxlag) % serial correlation of interspike intervals % % isicorr = isiserialcorr(isis, maxlag) % % Arguments: % isis: 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( isis ) > lag+10 % ensure "enough" data % NOTE: 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