This repository has been archived on 2021-05-17. You can view files and clone it, but cannot push or open issues or pull requests.
scientificComputing/pointprocesses/code/isiserialcorr.m

31 lines
930 B
Matlab

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