switch to exam package

This commit is contained in:
Jan Grewe 2015-10-07 08:59:51 +02:00
parent 673464b2d7
commit c38e0c60a0

View File

@ -1,8 +1,8 @@
\documentclass[12pt,a4paper,pdftex]{article}
\documentclass[12pt,a4paper,pdftex]{exam}
\usepackage[german]{babel}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage[margin=1.5in]{geometry}
\usepackage[small]{caption}
\usepackage{sidecap}
\usepackage{pslatex}
@ -12,35 +12,29 @@
\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}
%%%%% text size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% letter : 8.5 x 11 in
\setlength{\headheight}{5mm} % default ~5mm
\setlength{\headsep}{8mm} % default ~10mm
\setlength{\topmargin}{15mm} % default ~8mm
\setlength{\textheight}{23cm}
\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry}
\pagestyle{headandfoot}
\header{{\bfseries\large \"Ubung 4}}{{\bfseries\large Kontrollstrukturen}}{{\bfseries\large 13. Oktober, 2015}}
\firstpagefooter{Dr. Jan Grewe}{Phone: 29 74588}{Email:
jan.grewe@uni-tuebingen.de}
\runningfooter{}{\thepage}{}
\setlength{\oddsidemargin}{2.5cm}
\setlength{\evensidemargin}{2.5cm}
\setlength{\textwidth}{16cm}
\setlength{\voffset}{-1in}
\setlength{\hoffset}{-1in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\baselineskip}{15pt}
\setlength{\parindent}{0.0cm}
\setlength{\parskip}{0.3cm}
\renewcommand{\baselinestretch}{1.15}
\makeatletter
\setlength{\@fptop}{0pt}
\setlength{\@fpsep}{5ex}
\makeatother
%%%%% title %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{\bf Einf\"uhrung in die wissenschaftliche Datenverarbeitung\\
--- \"Ubungen IV: ---\\ Kontrollstrukturen}
\author{Jan Grewe, Jan Benda}
\date{\noindent\parbox{\textwidth}{\normalsize\itshape Eberhardt Karls Universit\"at
T\"ubingen, Abt. Neuroethologie }}
\newcommand{\code}[1]{\texttt{#1}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle
\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 \"Ubung und Selbstkontrolle und
sollten eigenst\"andig bearbeitet und gel\"ost werden. Die L\"osung
@ -48,59 +42,66 @@ soll in Form eines einzelnen Skriptes (m-files) i.d.R. am gleichen Tag
mir zugeschickt werden (jan.grewe@uni-tuebingen.de). Jede Aufgabe
sollte in einer eigenen ``Zelle'' gel\"ost sein. Die Zellen
\textbf{m\"ussen} unabh\"angig voneinander ausf\"uhrbar sein. Das
Skript sollte nach dem Muster: ``variablen\_datentypen\_{nachname}.m''
Skript sollte nach dem Muster: ``variablen\_datentypen\_\{nachname\}.m''
benannt werden (z.B. variablen\_datentypen\_mueller.m).
\section{Aufgaben}
\begin{enumerate}
\item Erzeuge einen Vektor \verb+x+ mit z.B. 50 Zufallszahlen im Bereich 0 - 10.
\begin{enumerate}
\item Benutze eine Schleife um das arithmetische Mittel zu berechnen. Der Mittelwert ist definiert als:
$\overline{x}=\frac{1}{n}\sum\limits_{i=0}^{n}x_i $.
\item Benutze eine Schleife um die Standardabweichung zu bestimmen:
$\sigma=\sqrt{\frac{1}{n}\sum\limits_{i=0}^{n}(x_i-\overline{x})^2}$).
\item Suche in der MATLAB Hilfe nach Funktionen, die das f\"ur
dich tuen :-).
\end{enumerate}
\item Benutze eine \verb+while+ Schleife um so lange Zufallszahlen
(\verb+randn+) zu ziehen, bis eine Zahl gr\"o{\ss}er 0.98 gezogen
wurde. Z\"ahle die Anzahl n\"otiger Versuche.
\item Erzeuge eine 5 x 5 x 5 Matrix mit Zufallszahlen.
\begin{enumerate}
\item Benutze eine for Schleife um nacheinander jeweils alle
Elemente der ``Bl\"atter'' auszugeben.
\item Das gleiche mit einer while-Schleife.
\end{enumerate}
\item Erstelle \verb+x+ einen Vektor mit 10 Zufallszahlen im Bereich 0:10.
\begin{enumerate}
\item Benutze eine for-Schleife um all die Elemente zu loeschen,
die (\verb+x(index) = [];+) kleiner als 5 sind.
\item Loesche alle Elemente die kleiner als 5 und groesser als 2 sind.
\item Kann man das gleiche auch ohne eine Schleife erledigen?
\end{enumerate}
\item Teste den Zufallsgenerator! Dazu z\"ahle die Anzahl der
Elemente, die durch folgende Grenzen getrennt werden [0.0, 0.2,
0.4, 0.6, 0.8, 1.0]. Speichere die Ergebnisse in einem passenden
Vektor. Nutze eine Schleife um 1000 Zufallszahlen mit
\verb+rand()+ (siehe Hilfe) zu ziehen. Was waere die Erwartung,
was kommt heraus?
\item String parsing: Mitunter werden Dateinamen von Datens\"atzen
benutzt um anzuzeigen unter welchenBedingungen die Daten gewonnen
wurden. Man muss also den Dateinamen parsen und die f\"ur einen
relevante Information herausfiltern.
\begin{enumerate}
\item Erstelle eine Variable
\verb+filename = '2010-10-12_100Hz_1.25V.dat'+. Der Unterstrich
ist offensichtlich das verwendete Trennzeichen.
\item Benutze eine \verb+for+ Schleife um durch alle Zeichen zu
laufen. Vergleiche jedes Zeichen mit dem Unterstrich und merke
dir die Positionen.
\item Benutze eine zweite Schleife um durch diesen Positionsvektor
zu laufen und benutze die darin enthaltene Information um den
\verb+filename+ in Teile zu schneiden.
\item Gib die einzelnen Teile auf dem Bildschirm aus.
\end{enumerate}
\end{enumerate}
\begin{questions}
\question Erzeuge einen Vektor \verb+x+ mit z.B. 50 Zufallszahlen im Bereich 0 - 10.
\begin{parts}
\part Benutze eine Schleife um das arithmetische Mittel zu berechnen. Der Mittelwert ist definiert als:
$\overline{x}=\frac{1}{n}\sum\limits_{i=0}^{n}x_i $.
\part Benutze eine Schleife um die Standardabweichung zu bestimmen:
$\sigma=\sqrt{\frac{1}{n}\sum\limits_{i=0}^{n}(x_i-\overline{x})^2}$).
\part Suche in der MATLAB Hilfe nach Funktionen, die das f\"ur
dich tuen :-).
\end{parts}
\question Benutze eine \verb+while+ Schleife um so lange Zufallszahlen
(\verb+randn+) zu ziehen, bis eine Zahl gr\"o{\ss}er 0.98 gezogen
wurde. Z\"ahle die Anzahl n\"otiger Versuche.
\question Erzeuge eine 5 x 5 x 5 Matrix mit Zufallszahlen.
\begin{parts}
\part Benutze eine for Schleife um nacheinander jeweils alle
Elemente der ``Bl\"atter'' auszugeben.
\part Das gleiche mit einer while-Schleife.
\end{parts}
\question Erstelle \verb+x+ einen Vektor mit 10 Zufallszahlen im
Bereich 0:10.
\begin{parts}
\part Benutze eine for-Schleife um all die Elemente zu loeschen,
die (\verb+x(index) = [];+) kleiner als 5 sind.
\part Loesche alle Elemente die kleiner als 5 und groesser als 2
sind.
\part Kann man das gleiche auch ohne eine Schleife erledigen?
\end{parts}
\question Teste den Zufallsgenerator! Dazu z\"ahle die Anzahl der
Elemente, die durch folgende Grenzen getrennt werden [0.0, 0.2,
0.4, 0.6, 0.8, 1.0]. Speichere die Ergebnisse in einem passenden
Vektor. Nutze eine Schleife um 1000 Zufallszahlen mit
\verb+rand()+ (siehe Hilfe) zu ziehen. Was waere die Erwartung,
was kommt heraus?
\question String parsing: Mitunter werden Dateinamen von
Datens\"atzen benutzt um anzuzeigen unter welchenBedingungen die
Daten gewonnen wurden. Man muss also den Dateinamen parsen und die
f\"ur einen relevante Information herausfiltern.
\begin{parts}
\part Erstelle eine Variable
\verb+filename = '2010-10-12_100Hz_1.25V.dat'+. Der Unterstrich
ist offensichtlich das verwendete Trennzeichen.
\part Benutze eine \verb+for+ Schleife um durch alle Zeichen zu
laufen. Vergleiche jedes Zeichen mit dem Unterstrich und merke
dir die Positionen.
\part Benutze eine zweite Schleife um durch diesen
Positionsvektor zu laufen und benutze die darin enthaltene
Information um den \verb+filename+ in Teile zu schneiden.
\part Gib die einzelnen Teile auf dem Bildschirm aus.
\end{parts}
\end{questions}
\end{document}