Jan Bs projects
This commit is contained in:
10
projects/project_isicorrelations/Makefile
Normal file
10
projects/project_isicorrelations/Makefile
Normal file
@@ -0,0 +1,10 @@
|
||||
latex:
|
||||
pdflatex *.tex > /dev/null
|
||||
pdflatex *.tex > /dev/null
|
||||
|
||||
clean:
|
||||
rm -rf *.log *.aux *.zip *.out auto
|
||||
rm -f `basename *.tex .tex`.pdf
|
||||
|
||||
zip: latex
|
||||
zip `basename *.tex .tex`.zip *.pdf *.dat *.mat *.m
|
||||
109
projects/project_isicorrelations/isicorrelations.tex
Normal file
109
projects/project_isicorrelations/isicorrelations.tex
Normal file
@@ -0,0 +1,109 @@
|
||||
\documentclass[addpoints,10pt]{exam}
|
||||
\usepackage{url}
|
||||
\usepackage{color}
|
||||
\usepackage{hyperref}
|
||||
|
||||
\pagestyle{headandfoot}
|
||||
\runningheadrule
|
||||
\firstpageheadrule
|
||||
\firstpageheader{Scientific Computing}{Project Assignment}{11/05/2014
|
||||
-- 11/06/2014}
|
||||
%\runningheader{Homework 01}{Page \thepage\ of \numpages}{23. October 2014}
|
||||
\firstpagefooter{}{}{}
|
||||
\runningfooter{}{}{}
|
||||
\pointsinmargin
|
||||
\bracketedpoints
|
||||
|
||||
%\printanswers
|
||||
%\shadedsolutions
|
||||
|
||||
%%%%% listings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\usepackage{listings}
|
||||
\lstset{
|
||||
basicstyle=\ttfamily,
|
||||
numbers=left,
|
||||
showstringspaces=false,
|
||||
language=Matlab,
|
||||
breaklines=true,
|
||||
breakautoindent=true,
|
||||
columns=flexible,
|
||||
frame=single,
|
||||
% captionpos=t,
|
||||
xleftmargin=2em,
|
||||
xrightmargin=1em,
|
||||
% aboveskip=10pt,
|
||||
%title=\lstname,
|
||||
% title={\protect\filename@parse{\lstname}\protect\filename@base.\protect\filename@ext}
|
||||
}
|
||||
|
||||
|
||||
\begin{document}
|
||||
%%%%%%%%%%%%%%%%%%%%% Submission instructions %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\sffamily
|
||||
% \begin{flushright}
|
||||
% \gradetable[h][questions]
|
||||
% \end{flushright}
|
||||
|
||||
\begin{center}
|
||||
\input{../disclaimer.tex}
|
||||
\end{center}
|
||||
|
||||
%%%%%%%%%%%%%% Questions %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\begin{questions}
|
||||
\question You are recording the activity of a neuron in response to
|
||||
constant stimuli of intensity $I$ (think of that, for example,
|
||||
of sound waves with intensities $I$). The neuron has an adaptatation
|
||||
current that adapts the firing rate with a slow time constant down.
|
||||
|
||||
Explore the dependence of interspike interval correlations on the firing rate,
|
||||
adaptation time constant and noise level.
|
||||
|
||||
\begin{parts}
|
||||
\part The neuron is a neuron with an adaptation current.
|
||||
It is implemented in the file \texttt{lifadaptspikes.m}. Call it
|
||||
with the following parameters:
|
||||
\begin{lstlisting}
|
||||
trials = 10;
|
||||
tmax = 50.0;
|
||||
input = 10.0; % the input I
|
||||
Dnoise = 1e-2; % noise strength
|
||||
adapttau = 0.1; % adaptation time constant in seconds
|
||||
adaptincr = 0.5; % adaptation strength
|
||||
|
||||
spikes = lifadaptspikes( trials, input, tmax, Dnoise, adapttau, adaptincr );
|
||||
\end{lstlisting}
|
||||
The returned \texttt{spikes} is a cell array with \texttt{trials} elements, each being a vector
|
||||
of spike times (in seconds) computed for a duration of \texttt{tmax} seconds.
|
||||
The input is set via the \texttt{input} variable, the noise strength via \texttt{Dnoise},
|
||||
and the adaptation time constant via \texttt{adapttau}.
|
||||
|
||||
\part Measure the intensity-response curve of the neuron, that is the mean firing rate
|
||||
as a function of the input for a range of inputs from 0 to 120.
|
||||
|
||||
\part Compute the correlations between each interspike interval $T_i$ and the next one $T_{i+1}$
|
||||
(serial interspike interval correlation at lag 1). Plot this correlation as a function of the
|
||||
firing rate by varying the input as in (a).
|
||||
|
||||
\part How does this dependence change for different values of the adaptation
|
||||
time constant \texttt{adapttau}? Use values between 10\,ms and
|
||||
1\,s for \texttt{adapttau}.
|
||||
|
||||
\part Determine the firing rate at which the minimum interspike interval correlation
|
||||
occurs. How does the minimum correlation and this firing rate
|
||||
depend on the adaptation time constant \texttt{adapttau}?
|
||||
|
||||
\part How do the results change if the level of the intrinsic noise \texttt{Dnoise} is modified?
|
||||
Use values of 1e-4, 1e-3, 1e-2, 1e-1, and 1 for \texttt{Dnoise}.
|
||||
|
||||
|
||||
\uplevel{If you still have time you can continue with the following question:}
|
||||
|
||||
\part How do the interspike interval distributions look like for the different noise levels
|
||||
at some example values for the input and the adaptation time constant?
|
||||
|
||||
\end{parts}
|
||||
|
||||
\end{questions}
|
||||
|
||||
\end{document}
|
||||
53
projects/project_isicorrelations/lifadaptspikes.m
Normal file
53
projects/project_isicorrelations/lifadaptspikes.m
Normal file
@@ -0,0 +1,53 @@
|
||||
function spikes = lifadaptspikes( trials, input, tmaxdt, D, tauadapt, adaptincr )
|
||||
% Generate spike times of a leaky integrate-and-fire neuron
|
||||
% with an adaptation current
|
||||
% trials: the number of trials to be generated
|
||||
% input: the stimulus either as a single value or as a vector
|
||||
% tmaxdt: in case of a single value stimulus the duration of a trial
|
||||
% in case of a vector as a stimulus the time step
|
||||
% D: the strength of additive white noise
|
||||
% tauadapt: adaptation time constant
|
||||
% adaptincr: adaptation strength
|
||||
|
||||
tau = 0.01;
|
||||
if nargin < 4
|
||||
D = 1e0;
|
||||
end
|
||||
if nargin < 5
|
||||
tauadapt = 0.1;
|
||||
end
|
||||
if nargin < 6
|
||||
adaptincr = 1.0;
|
||||
end
|
||||
vreset = 0.0;
|
||||
vthresh = 10.0;
|
||||
dt = 1e-4;
|
||||
|
||||
if max( size( input ) ) == 1
|
||||
input = input * ones( ceil( tmaxdt/dt ), 1 );
|
||||
else
|
||||
dt = tmaxdt;
|
||||
end
|
||||
spikes = cell( trials, 1 );
|
||||
for k=1:trials
|
||||
times = [];
|
||||
j = 1;
|
||||
v = vreset;
|
||||
a = 0.0;
|
||||
noise = sqrt(2.0*D)*randn( length( input ), 1 )/sqrt(dt);
|
||||
for i=1:length( noise )
|
||||
v = v + ( - v - a + noise(i) + input(i))*dt/tau;
|
||||
a = a + ( - a )*dt/tauadapt;
|
||||
if v >= vthresh
|
||||
v = vreset;
|
||||
a = a + adaptincr/tauadapt;
|
||||
spiketime = i*dt;
|
||||
if spiketime > 4.0*tauadapt
|
||||
times(j) = spiketime - 4.0*tauadapt;
|
||||
j = j + 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
spikes{k} = times;
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user