<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\documentclass[12pt,a4paper,pdftex]{exam}
%\documentclass[answers,12pt,a4paper,pdftex]{exam}

\usepackage[german]{babel}
\usepackage{natbib}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage[small]{caption}
\usepackage{sidecap}
\usepackage{pslatex}
\usepackage{amsmath}
\usepackage{amssymb}
\setlength{\marginparwidth}{2cm}
\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}

%%%%% text size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry}
\pagestyle{headandfoot}
\header{{\bfseries\large \"Ubung 5}}{{\bfseries\large Skripte und Funktionen}}{{\bfseries\large 15. November, 2016}}
\firstpagefooter{Prof. Jan Benda}{Phone: 29 74 573}{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
}


\newcommand{\code}[1]{\texttt{#1}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\begin{document}

\vspace*{-6.5ex}
\begin{center}
  \textbf{\Large Einf\"uhrung in die wissenschaftliche Datenverarbeitung}\\[1ex]
  {\large Jan Grewe, Jan Benda}\\[-3ex]
  Abteilung Neuroethologie \hfill --- \hfill Institut f\"ur Neurobiologie \hfill --- \hfill \includegraphics[width=0.28\textwidth]{UT_WBMW_Black_RGB} \\
\end{center}

Die folgenden Aufgaben dienen der Wiederholung, \"Ubung und
Selbstkontrolle und sollten eigenst\"andig bearbeitet und gel\"ost
werden. Im Gegensatz zu den vorherigen \"Ubungsbl\"attern k\"onnen die
L\"osungen nicht mehr in einer Datei gemacht werden. Die L\"osungen
also als zip-Archiv auf ILIAS hochladen. Das Archiv sollte nach dem Muster:
``skripte\_funktionen\_\{nachname\}.zip'' benannt werden.

\begin{questions}

  \question Berechne die Fakult\"at einer Zahl.
  \begin{parts}
    \part Version 1: Schreibe eine Skript, das die Fakult\"at von 5 berechnet und das
    Resultat auf dem Bildschirm ausgibt.
    \begin{solution}
      \lstinputlisting{factorialscripta.m}
    \end{solution}

    \part Version 2: Wie Version 1, aber als Funktion, die als
    Argument die Zahl, von der die Fakult\"at berechnet werden soll,
    \"ubernimmt.
    \begin{solution}
      \lstinputlisting{printfactorial.m}
      \lstinputlisting{factorialscriptb.m}
    \end{solution}

    \part Version 3: Wie Version 2, die Funktion soll den berechneten
    Wert nicht ausgeben, sondern als Funktionswert zur\"uckgeben. Das
    aufrufende Skript soll dann den berechneten Wert auf dem
    Bildschirm ausgeben.
    \begin{solution}
      \lstinputlisting{myfactorial.m}
      \lstinputlisting{factorialscriptc.m}
    \end{solution}

  \end{parts}

  \question Grafische Darstellung einer Sinuswelle.
  \begin{parts}
    \part Implementiere eine Funktion, die einen Sinus mit der
    Amplitude 1 und der Frequenz $f = $ 50\,Hz plottet ($\sin(2\pi \cdot
    f \cdot t)$). Rufe die Funktion auf.
    \begin{solution}
      \lstinputlisting{plotsine50.m}
      \lstinputlisting{plotsinea.m}
    \end{solution}

    \part Erweitere die Funktion so, dass die L\"ange der Zeitachse,
    die Amplitude, und die Frequenz als Argumente \"ubergeben werden
    k\"onnen. Die Schrittweite soll in der Funktion aus der Frequenz
    berechnet werden.
    \begin{solution}
      \lstinputlisting{plotsine.m}
      \lstinputlisting{plotsineb.m}
    \end{solution}

    \part Verlagere alle plot Befehle in das aufrufende Skript
    und ver\"andere die Funktion so, dass sie sowohl den Sinus als
    auch die Zeitachse zur\"uckgibt.
    \begin{solution}
      \lstinputlisting{sinewave.m}
      \lstinputlisting{plotsinec.m}
    \end{solution}

    \part Schreibe eine zweite Funktion, die den Sinus plotted und
    daf\"ur die Zeitachse und den Sinus als Argument erh\"alt. Diese
    Funktion soll die Achsen richtig beschriften. Schreibe ein kleines
    Skript, dass beide Funktionen aufruft, um einen Sinus von 5\,Hz
    mit der Amplitude 2 \"uber 1.5 Sekunden zu plotten.
    \begin{solution}
      \lstinputlisting{plotsinewave.m}
      \lstinputlisting{plotsined.m}
    \end{solution}
  \end{parts}

  %\question Schreibe eine Funktion, die bin\"are Datens\"atze
  %('signal.bin' und 'signal2.bin' vom Montag) liest und die Daten als
  %Vektor zur\"uckgibt. Welche Argumente muss die Funktion
  %\"ubernehmen?

  \question Random Walk.
  \begin{parts}
    \part Lies die Aufgabe bis zum Ende durch. \"Uberlege dir dann ein
    geeignetes ``Programmlayout'' aus Funktionen und Skripten.

    Was w\"are eine geeigente Funktion f\"ur diese Aufgabe? Welche
    Argumente sollte sie entgegennehmen? Was soll sie berechnen und
    zur\"uckgeben?
    \begin{solution}
      One function that computes one realisation of a random walk.
      Scripts for plotting and analysis.
      \lstinputlisting{randomwalkthresh.m}
    \end{solution}

    \part Simuliere und plotte die Positionen von 10 Realisationen
    eines random walk mit gleichen Wahrscheinlichkeiten f\"ur beide
    Richtungen. Jeder Walker startet an der Position 0 und soll so
    lange laufen, bis er den Wert 50 \"uberschreitet oder den Wert
    $-50$ unterschreitet.
    \begin{solution}
      \lstinputlisting{randomwalkscriptb.m}
    \end{solution}

    \part Jetzt wollen wir die Wahrscheinlichkeit $p$ f\"ur eine
    Bewegung zu gr\"o{\ss}eren Positionen im Bereich $0.5 \le p &lt; 0.8$
    variieren.  Simuliere 10 Realisationen des random walk f\"ur vier
    verschiedene Wahrscheinlichkeiten.
    \begin{solution}
      \lstinputlisting{randomwalkscriptc.m}
    \end{solution}

    \part Wie entwickelt sich die mittlere ben\"otigte Schrittanzahl
    in Abh\"angigkeit der Wahrscheinlichkeit?  Stelle die Mittelwerte
    und die Standardabweichungen graphisch dar.
    \begin{solution}
      \lstinputlisting{randomwalkscriptd.m}
    \end{solution}
  \end{parts}

  %\question Modellierung des exponentiellen Wachstums einer isolierten
  %Population. Das exponentielle Wachstum einer isolierten Population
  %wird \"uber folgende Differentialgleichung beschrieben:
  %\begin{equation}
  %  \frac{dN}{dt} = N \cdot r,
  %\end{equation}
  %mit $N$ der Populationsgr\"o{\ss}e und $r$ der Wachstumsrate.
  %\begin{parts}
  %  \part  L\"ose die Gleichung numerisch mit dem Euler Verfahren. 
  %  \part Implementiere eine Funktion, die die Populationsgr\"o{\ss}e
  %  und die Zeit zur\"uckgibt.
  %  \part Plotte die Populationsgr\"o{\ss}e als Funktion der Zeit.
  %\end{parts}
  
  %\question Etwas realistischer ist das logistische Wachstum einer
  %isolierten Population, bei der das Wachstum durch eine Kapazit\"at
  %gedeckelt ist. Sie wird mit folgender Differentialgleichung
  %beschrieben:
  %\begin{equation}
  %  \frac{dN}{dt} = N \cdot r \cdot \left( 1 - \frac{N}{K} \right)
  %\end{equation}
  %mit $N$ der Population, der Wachstumsrate $r$ und $K$ der ``tragenden''
  %Kapazit\"at.
  %\begin{parts}
  %  \part Implementiere die L\"osung des logistischen Wachstums in
  %  einer Funktion. Benutze das Euler Verfahren. Die Funktion soll die
  %  Parameter $r$, $K$ sowie den Startwert von $N$ als Argumente
  %  \"ubernehmen.
  %  \part Die Funktion soll die Populationsgr\"o{\ss}e und die Zeit
  %  zur\"uckgeben.
  %  \part Simuliere das Wachstum mit einer Anzahl unterschiedlicher
  %  Startwerte f\"ur $N$.
  %  \part Stelle die Ergebnisse in einem Plot graphisch dar.
  %  \part Plotte das Wachstum $dN/dt$ als Funktion der
  %  Populationsgr\"o{\ss}e $N$.
  %\end{parts}

\end{questions}

\end{document}
</pre></body></html>