n = 10000; % number of action potentials T = 100.0; % total time interval spikes = sort(T*rand(n, 1)); % sorted times of action potentials isis = diff(spikes); % interspike intervals rate = n/T; % firing rate misi = mean(isis); % mean interspike interval sisi = std(isis); % and standard deviation fprintf('firing rate = %.1fHz\n', rate); fprintf(' mean ISI = %.1fms\n', 1000.0*misi); % inverse of rate fprintf(' std ISI = %.1fms\n', 1000.0*sisi); % same as mean hist(1000.0*isis, 50); % exponential distribution xlabel('ISI [ms]'); ylabel('count');