[pointprocesses] finished solution of first exercise

This commit is contained in:
Jan Benda 2021-01-19 12:59:54 +01:00
parent 2589acd4f5
commit 73c6d35536
14 changed files with 33 additions and 14 deletions

View File

@ -1,9 +1,9 @@
spikes{1} = poissonspikes; spikes{1} = poissonspikes;
spikes{2} = pifouspikes; spikes{2} = pifouspikes;
spikes{3} = lifadaptspikes; spikes{3} = lifadaptspikes;
idents = {'poisson', 'pifou', 'lifadapt'}; titles = {'poisson', 'pifou', 'lifadapt'};
for k = 1:3 for k = 1:3
figure(k) figure(k)
fanoplot(spikes{k}, titles{k}); fanoplot(spikes{k}, titles{k});
savefigpdf(gcf, sprintf('fanoplots%s.pdf', idents{k}), 20, 7); savefigpdf(gcf, sprintf('fanoplots%s.pdf', titles{k}), 20, 7);
end end

Binary file not shown.

View File

@ -1,19 +1,20 @@
maxisi = 300.0; maxisi = 300.0;
subplot(1, 3, 1); subplot(1, 3, 1);
dt = 0.005; % bin width for ISIH in seconds
poissonisis = isis(poissonspikes); poissonisis = isis(poissonspikes);
plotisihist(poissonisis, 0.001); plotisihist(poissonisis, dt);
xlim([0, maxisi]) xlim([0, maxisi])
title('Poisson'); title('Poisson');
subplot(1, 3, 2); subplot(1, 3, 2);
pifouisis = isis(pifouspikes); pifouisis = isis(pifouspikes);
plotisihist(pifouisis, 0.001); plotisihist(pifouisis, dt);
xlim([0, maxisi]) xlim([0, maxisi])
title('PIF OU'); title('PIF OU');
subplot(1, 3, 3); subplot(1, 3, 3);
lifadaptisis = isis(lifadaptspikes); lifadaptisis = isis(lifadaptspikes);
plotisihist(lifadaptisis, 0.001); plotisihist(lifadaptisis, dt);
xlim([0, maxisi]) xlim([0, maxisi])
title('LIF adapt'); title('LIF adapt');
savefigpdf(gcf, 'isihist.pdf', 20, 7); savefigpdf(gcf, 'isihist.pdf', 20, 7);

View File

@ -1,12 +1,13 @@
maxisi = 300.0; maxisi = 300.0;
dt = 0.005;
poissonisis = isis(poissonspikes); poissonisis = isis(poissonspikes);
rate = 1.0/mean(poissonisis); rate = 1.0/mean(poissonisis);
plotisihist(poissonisis, 0.001); plotisihist(poissonisis, dt);
tt = linspace(0.0, 0.001*maxisi, 200); tt = linspace(0.0, 0.001*maxisi, 200);
pexp = rate*exp(-tt*rate); pexp = rate*exp(-tt*rate);
hold on; hold on;
plot(1000.0*tt, pexp, 'r') plot(1000.0*tt, pexp, 'r', 'linewidth', 4)
hold off; hold off;
xlim([0, maxisi]) xlim([0, maxisi])
title('Poisson'); title('Poisson');
savefigpdf(gcf, 'poissonisihist.pdf', 10, 7); savefigpdf(gcf, 'poissonisihist.pdf', 10, 6);

View File

@ -1,3 +1,11 @@
x = load('poisson.mat');
poissonspikes = x.spikes;
x = load('pifou.mat');
pifouspikes = x.spikes;
x = load('lifadapt.mat');
lifadaptspikes = x.spikes;
clear x;
subplot(1, 3, 1); subplot(1, 3, 1);
rasterplot(poissonspikes, 1.0); rasterplot(poissonspikes, 1.0);
title('Poisson'); title('Poisson');

View File

@ -35,8 +35,8 @@
How do you access single spike times? How do you access single spike times?
\begin{solution} \begin{solution}
\begin{lstlisting} \begin{lstlisting}
clear all
% not so good: % not so good:
clear all
load poisson.mat load poisson.mat
whos whos
poissonspikes = spikes; poissonspikes = spikes;
@ -55,6 +55,15 @@
lifadaptspikes = x.spikes; lifadaptspikes = x.spikes;
clear x; clear x;
\end{lstlisting} \end{lstlisting}
The files contain cell arrays with 20 trials of spike
trains. Each spike train is a vector containing the times of
spikes.
\begin{lstlisting}
% access first trial:
trial = poissonspikes{1};
% access second spike of first trial:
trial(2);
\end{lstlisting}
\end{solution} \end{solution}
\newsolutionpage \newsolutionpage
@ -112,11 +121,11 @@
of the mean interspike interval. of the mean interspike interval.
\begin{solution} \begin{solution}
\lstinputlisting{plotpoissonisih.m} \lstinputlisting{plotpoissonisih.m}
%\mbox{}\\[-3ex] \mbox{}\\[-3ex]
%\colorbox{white}{\includegraphics[width=1\textwidth]{poissonisihist}} \colorbox{white}{\includegraphics{poissonisihist}}
\end{solution} \end{solution}
\continuepage \continue
% XXX Add return map!!! XXX % XXX Add return map!!! XXX
\part Write a function that computes the serial correlations of \part Write a function that computes the serial correlations of
interspike intervals for lags up to \code{maxlag}. The serial interspike intervals for lags up to \code{maxlag}. The serial

View File

@ -6,7 +6,7 @@ function rasterplot(spikes, tmax)
% Arguments: % Arguments:
% spikes: a cell array of vectors of spike times in seconds % spikes: a cell array of vectors of spike times in seconds
% tmax: plot spike raster up to tmax seconds % tmax: plot spike raster up to tmax seconds
in_msecs = tmax < 1.5 in_msecs = tmax < 1.5;
spiketimes = []; spiketimes = [];
trials = []; trials = [];
ntrials = length(spikes); ntrials = length(spikes);