198 lines
6.6 KiB
TeX
198 lines
6.6 KiB
TeX
\documentclass[12pt,a4paper,pdftex]{exam}
|
|
|
|
\usepackage[german]{babel}
|
|
\usepackage{pslatex}
|
|
\usepackage[mediumspace,mediumqspace,Gray]{SIunits} % \ohm, \micro
|
|
\usepackage{xcolor}
|
|
\usepackage{graphicx}
|
|
\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}
|
|
|
|
%%%%% layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry}
|
|
\pagestyle{headandfoot}
|
|
\ifprintanswers
|
|
\newcommand{\stitle}{L\"osungen}
|
|
\else
|
|
\newcommand{\stitle}{\"Ubung}
|
|
\fi
|
|
\header{{\bfseries\large \stitle}}{{\bfseries\large Punktprozesse}}{{\bfseries\large 27. Oktober, 2015}}
|
|
\firstpagefooter{Prof. Dr. Jan Benda}{Phone: 29 74573}{Email:
|
|
jan.benda@uni-tuebingen.de}
|
|
\runningfooter{}{\thepage}{}
|
|
|
|
\setlength{\baselineskip}{15pt}
|
|
\setlength{\parindent}{0.0cm}
|
|
\setlength{\parskip}{0.3cm}
|
|
\renewcommand{\baselinestretch}{1.15}
|
|
|
|
%%%%% listings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\usepackage{listings}
|
|
\lstset{
|
|
language=Matlab,
|
|
basicstyle=\ttfamily\footnotesize,
|
|
numbers=left,
|
|
numberstyle=\tiny,
|
|
title=\lstname,
|
|
showstringspaces=false,
|
|
commentstyle=\itshape\color{darkgray},
|
|
breaklines=true,
|
|
breakautoindent=true,
|
|
columns=flexible,
|
|
frame=single,
|
|
xleftmargin=1em,
|
|
xrightmargin=1em,
|
|
aboveskip=10pt
|
|
}
|
|
|
|
%%%%% math stuff: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\usepackage{amsmath}
|
|
\usepackage{amssymb}
|
|
\usepackage{bm}
|
|
\usepackage{dsfont}
|
|
\newcommand{\naZ}{\mathds{N}}
|
|
\newcommand{\gaZ}{\mathds{Z}}
|
|
\newcommand{\raZ}{\mathds{Q}}
|
|
\newcommand{\reZ}{\mathds{R}}
|
|
\newcommand{\reZp}{\mathds{R^+}}
|
|
\newcommand{\reZpN}{\mathds{R^+_0}}
|
|
\newcommand{\koZ}{\mathds{C}}
|
|
|
|
%%%%% page breaks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\newcommand{\continue}{\ifprintanswers%
|
|
\else
|
|
\vfill\hspace*{\fill}$\rightarrow$\newpage%
|
|
\fi}
|
|
\newcommand{\continuepage}{\ifprintanswers%
|
|
\newpage
|
|
\else
|
|
\vfill\hspace*{\fill}$\rightarrow$\newpage%
|
|
\fi}
|
|
\newcommand{\newsolutionpage}{\ifprintanswers%
|
|
\newpage%
|
|
\else
|
|
\fi}
|
|
|
|
%%%%% new commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\newcommand{\qt}[1]{\textbf{#1}\\}
|
|
\newcommand{\pref}[1]{(\ref{#1})}
|
|
\newcommand{\extra}{--- Zusatzaufgabe ---\ \mbox{}}
|
|
\newcommand{\code}[1]{\texttt{#1}}
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\begin{document}
|
|
|
|
\input{instructions}
|
|
|
|
|
|
\begin{questions}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\question \qt{Statistik von Spiketrains}
|
|
In Ilias findet ihr die Dateien \code{poisson.mat},
|
|
\code{pifou.mat}, und \code{lifadapt.mat}. Jede dieser Dateien
|
|
enth\"alt mehrere Trials von Spiketrains von einer bestimmten Art
|
|
von Neuron. Die Spikezeiten sind in Sekunden gemessen.
|
|
|
|
Mit den folgenden Aufgaben wollen wir die Statistik der Spiketrains
|
|
der drei Neurone miteinander vergleichen.
|
|
\begin{parts}
|
|
\part Lade die Spiketrains aus den drei Dateien. Achte darauf,
|
|
dass sie verschiedene Variablen\-namen bekommen.
|
|
\begin{solution}
|
|
\begin{lstlisting}
|
|
clear all
|
|
% not so good:
|
|
load poisson.mat
|
|
whos
|
|
poissonspikes = spikes;
|
|
load pifou.mat;
|
|
pifouspikes = spikes;
|
|
load lifadapt.mat;
|
|
lifadaptspikes = spikes;
|
|
clear spikes;
|
|
% better:
|
|
clear all
|
|
x = load( 'poisson.mat' );
|
|
poissonspikes = x.spikes;
|
|
x = load( pifou.mat' );
|
|
pifouspikes = x.spikes;
|
|
x = load( 'lifadapt.mat' );
|
|
lifadaptspikes = x.spikes;
|
|
\end{lstlisting}
|
|
\end{solution}
|
|
|
|
\part Schreibe eine Funktion, die die Spikezeiten der ersten
|
|
$t_{max}$ Sekunden in einem Rasterplot visualisiert. In jeder
|
|
Zeile des Rasterplots wird ein Spiketrain dargestellt. Jeder
|
|
einzelne Spike wird als senkrechte Linie zu der Zeit des
|
|
Auftretens des Spikes geplottet. Benutze die Funktion, um die
|
|
Spikeraster der ersten 1\,s der drei Neurone nebeneinander zu plotten.
|
|
\begin{solution}
|
|
\lstinputlisting{../code/spikeraster.m}
|
|
\lstinputlisting{../code/plotspikeraster.m}
|
|
\mbox{}\\[-3ex]
|
|
\colorbox{white}{\includegraphics[width=1\textwidth]{spikeraster}}
|
|
\end{solution}
|
|
|
|
\part Schreibe eine Funktion, die einen einzigen Vektor mit den
|
|
Interspikeintervallen aller Trials von Spikezeiten zur\"uckgibt.
|
|
\begin{solution}
|
|
\lstinputlisting{../code/isis.m}
|
|
\end{solution}
|
|
|
|
\part Schreibe eine Funktion, die ein normiertes Histogramm aus
|
|
einem Vektor von Interspikeintervallen, gegeben in Sekunden,
|
|
berechnet und dieses mit richtiger Achsenbeschriftung plottet.
|
|
Die Interspikeintervalle sollen dabei in Millisekunden angegeben
|
|
werden. Die Funktion soll zus\"atzlich den Mittelwert, die
|
|
Standardabweichung, und den Variationskoeffizienten der
|
|
Interspikeintervalle berechnen und diese im Plot mit angeben.
|
|
|
|
Benutze die vorherige und diese Funktion, um die
|
|
Interspikeintervall Verteilung der drei Neurone zu vergleichen.
|
|
\begin{solution}
|
|
\lstinputlisting{../code/isihist.m}
|
|
\lstinputlisting{../code/plotisih.m}
|
|
\mbox{}\\[-3ex]
|
|
\colorbox{white}{\includegraphics[width=1\textwidth]{isihist}}
|
|
\end{solution}
|
|
|
|
\part Schreibe eine Funktion, die die seriellen Korrelationen der
|
|
Interspikeintervalle f\"ur Lags bis zu \code{maxlag} berechnet und
|
|
plottet. Die Seriellen Korrelationen $\rho_k$ f\"ur Lag $k$ der
|
|
Interspikeintervalle $T_i$ sind die Korrelationskoeffizienten
|
|
zwischen den Interspikeintervallen $T_i$ und den um das Lag $k$
|
|
verschobenen Intervallen $T_{i+k}$:
|
|
\[ \rho_k = \frac{\langle (T_{i+k} - \langle T \rangle)(T_i -
|
|
\langle T \rangle) \rangle}{\langle (T_i - \langle T
|
|
\rangle)^2\rangle} = \frac{{\rm cov}(T_{i+k}, T_i)}{{\rm
|
|
var}(T_i)} = {\rm corr}(T_{i+k}, T_i) \]
|
|
|
|
Benutze diese Funktion, um die Interspikeintervall-Korrelationen
|
|
der drei Neurone zu vergleichen.
|
|
\begin{solution}
|
|
\lstinputlisting{../code/isiserialcorr.m}
|
|
\lstinputlisting{../code/plotserialcorr.m}
|
|
\colorbox{white}{\includegraphics[width=1\textwidth]{serialcorr}}
|
|
\end{solution}
|
|
|
|
\part Schreibe eine Funktion, die aus Spikezeiten
|
|
Histogramme aus der Anzahl von Spikes, die in Fenstern gegebener L\"ange $W$
|
|
gez\"ahlt werden, erzeugt und plottet.
|
|
|
|
Wende diese Funktion auf die drei
|
|
Datens\"atze an. Probiere verschiedene Fenstergr\"o{\ss}en $W$ aus.
|
|
\begin{solution}
|
|
\lstinputlisting{../code/counthist.m}
|
|
\lstinputlisting{../code/plotcounthist.m}
|
|
\colorbox{white}{\includegraphics[width=1\textwidth]{counthist}}
|
|
\end{solution}
|
|
|
|
|
|
\end{parts}
|
|
|
|
\end{questions}
|
|
|
|
\end{document} |