switch to exam package
This commit is contained in:
parent
673464b2d7
commit
c38e0c60a0
@ -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}
|
||||
|
Reference in New Issue
Block a user