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/isihist.m
2014-11-12 18:39:02 +01:00

33 lines
1.1 KiB
Matlab

function isihist( isis, binwidth )
% plot histogram of isis
% isis: vector of interspike intervals
% binwidth: optional width to be used for the isi bins
if nargin < 2
nperbin = 200; % average number of data points per bin
bins = length( isis )/nperbin; % number of bins
binwidth = max( isis )/bins;
if binwidth < 5e-4 % half a millisecond
binwidth = 5e-4;
end
end
bins = 0.5*binwidth:binwidth:max(isis);
% histogram:
[ nelements, centers ] = hist( isis, bins );
% normalization (integral = 1):
nelements = nelements / sum( nelements ) / binwidth;
% plot:
bar( 1000.0*centers, nelements );
xlabel( 'ISI [ms]' )
ylabel( 'p(ISI) [1/s]')
% annotation:
misi = mean( isis );
sdisi = std( isis );
disi = sdisi^2.0/2.0/misi^3;
text( 0.5, 0.6, sprintf( 'mean=%.1f ms', 1000.0*misi ), 'Units', 'normalized' )
text( 0.5, 0.5, sprintf( 'std=%.1f ms', 1000.0*sdisi ), 'Units', 'normalized' )
text( 0.5, 0.4, sprintf( 'CV=%.2f', sdisi/misi ), 'Units', 'normalized' )
%text( 0.5, 0.3, sprintf( 'D=%.1f Hz', disi ), 'Units', 'normalized' )
end