30 lines
961 B
Matlab
30 lines
961 B
Matlab
function [pdf, centers] = isihist(isis, binwidth)
|
|
% Compute normalized histogram of interspike intervals.
|
|
%
|
|
% [pdf, centers] = isihist(isis, binwidth)
|
|
%
|
|
% Arguments:
|
|
% isis: vector of interspike intervals in seconds
|
|
% binwidth: optional width in seconds to be used for the isi bins
|
|
%
|
|
% Returns:
|
|
% pdf: vector with probability density of interspike intervals in Hz
|
|
% centers: vector with centers of interspikeintervalls in seconds
|
|
|
|
if nargin < 2
|
|
% compute good binwidth:
|
|
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 data:
|
|
[nelements, centers] = hist(isis, bins);
|
|
% normalization (integral = 1):
|
|
pdf = nelements / sum(nelements) / binwidth;
|
|
end
|
|
|