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/programming/exercises/STA/psth.m

19 lines
602 B
Matlab

function [average_psth, std_psth] = psth(spike_times, max_time, sample_rate, kernel_width)
binary_spikes = zeros(size(spike_times,2), round(max_time*sample_rate));
responses = zeros(size(binary_spikes));
window = hann(kernel_width*sample_rate,'symmetric');
window = window/sum(window);
for i = 1:size(spike_times,2)
t = spike_times{i};
temp = round(t*sample_rate);
if temp(1) <= 0
temp(1) = 1;
end
binary_spikes(i, temp) = 1;
responses(i,:) = conv(binary_spikes(i,:), window, 'same')*sample_rate;
end
average_psth = mean(responses,1);
std_psth = std(responses, [], 1);