\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
    Variablennamen bekommen.
    \begin{solution}
      \begin{lstlisting}
        clear all
        load poisson.mat
        whos
        poissonspikes = spikes;
        load pifou.mat;
        pifouspikes = spikes;
        load lifadapt.mat;
        lifadaptspikes = spikes;
        clear spikes;
      \end{lstlisting}
    \end{solution}
    
    \part Schreibe eine Funktion, die die Spikezeiten der ersten
    \code{tmax} 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 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 Interspike-Intervallen
    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 Interspike-Intervallen, gegeben in Sekunden,
    berechnet und dieses mit richtiger Achsenbeschriftung plottet.  Die
    Interspike-Intervalle sollen dabei in Millisekunden angegeben
    werden. Die Funktion soll ausserdem den Mittelwert, die Standardabweichung,
    und den Variationskoeffizienten der Interspike Intervalle berechnen
    und diese im Plot mit angeben.
    
    Benutze diese und die vorherige Funktion, um die Interspike-Intervall 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
    Interspike Intervalle f\"ur lags bis zu \code{maxlag} berechnet
    und plottet.  Die Seriellen Korrelationen $\rho_k$ f\"ur lag $k$
    der Interspike Intervalle $T_i$ sind wie folgt definiert:
    \[ \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 corrcoef}(T_{i+k}, T_i) \] Benutze dies Funktion,
    um die Interspike Intervall 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. Zus\"atzlich soll die Funktion
    die Poisson-Verteilung
    \[ P(k) = \frac{(\lambda W)^ke^{\lambda W}}{k!} \] mit der Rate
    $\lambda$, die aus den Daten bestimmt werden kann, mit zu dem
    Histogramm hineinzeichen.
    \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}