%% Instantaneous rate clear clc close all load 'lifoustim.mat' t_max = 30; rates = zeros(length(spikes), 30/dt); for i = 1:length(spikes) [t, rates(i,:)] = instantaneous_rate(spikes{i}, dt, t_max); end f = figure(); set(f, 'paperunits', 'centimeters') set(f, 'papersize', [10, 10]) set(f, 'paperposition', [0 0 10 10]) hold on plot(t, rates(1,:), 'displayname', 'trial 1') plot(t, mean(rates,1), 'displayname', 'average rate') xlabel('time [s]', 'fontsize', 10) ylabel('firing rate [Hz]','fontsize', 10) legend('show') box('off') saveas(gcf, 'instantaneous_rate', 'pdf') %% Binning Method clear clc close all load 'lifoustim.mat' t_max = 30; rates = zeros(length(spikes), 30/dt); for i = 1:length(spikes) [t, rates(i,:)] = binned_rate(spikes{i}, 0.05, dt, t_max); end f = figure(); set(f, 'paperunits', 'centimeters') set(f, 'papersize', [10, 10]) set(f, 'paperposition', [0 0 10 10]) hold on plot(t, rates(1,:), 'displayname', 'trial 1') plot(t, mean(rates,1), 'displayname', 'average rate') xlabel('time [s]', 'fontsize', 10) ylabel('firing rate [Hz]','fontsize', 10) legend('show') box('off') saveas(gcf, 'binned_rate', 'pdf') %% Convolution Method clear clc close all load 'lifoustim.mat' t_max = 30; rates = zeros(length(spikes), 30/dt); for i = 1:length(spikes) [t, rates(i,:)] = convolution_rate(spikes{i}, 0.05, dt, t_max); end f = figure(); set(f, 'paperunits', 'centimeters', 'papersize', [10, 10], 'paperposition', [0 0 10 10]) hold on plot(t, rates(1,:), 'displayname', 'trial 1') plot(t, mean(rates,1), 'displayname', 'average rate') xlabel('time [s]', 'fontsize', 10) ylabel('firing rate [Hz]','fontsize', 10) legend('show') box('off') saveas(gcf, 'convolved_rate', 'pdf')