diff --git a/programming/exercises/vectors_matrices.tex b/programming/exercises/vectors_matrices.tex index 8e34110..1be01b0 100644 --- a/programming/exercises/vectors_matrices.tex +++ b/programming/exercises/vectors_matrices.tex @@ -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} @@ -11,36 +11,29 @@ \setlength{\marginparwidth}{2cm} \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} +%%%%% text size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry} +\pagestyle{headandfoot} \header{{\bfseries\large \"Ubung + 2}}{{\bfseries\large Vektoren und Matrizen}}{{\bfseries\large 12. 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 II: ---\\ Vektoren und Matrizen} -\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,99 +41,106 @@ 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} +\section{Vektoren} -\subsection{Vektoren} - \begin{enumerate} - \item Erzeuge folgende Vektoren: - \begin{enumerate} - \item Von 1 bis 10 in ganzzahligen Schritten. - \item $2:20$ in 2er Schritten. - \item Mit \textbf{absteigendem} Inhalt von 100 bis 0. - \item In 100 Schritten von 0 bis $2\pi$ ($\pi$ ist als Konstante \verb+pi+ +\begin{questions} + \question Erzeuge folgende Vektoren: + \begin{parts} + \part Von 1 bis 10 in ganzzahligen Schritten. + \part Von 2 bis 20 in 2er Schritten. + \part Mit \textbf{absteigendem} Inhalt von 100 bis 0. + \part In 100 Schritten von 0 bis $2\pi$ ($\pi$ ist als Konstante \verb+pi+ in Matlab definiert). - \end{enumerate} - \item Indizieren: - \begin{enumerate} - \item Erzeuge einen Vektor mit 100 Zufallszahlen (z.B. mit der + \end{parts} + + \question Indizieren: + \begin{parts} + \part Erzeuge einen Vektor mit 100 Zufallszahlen (z.B. mit der Funktion \verb+rand+). - \item Gib die ersten 10 Werte aus. - \item Gib die letzten 10 Werte aus. - \item Gib 10 zufaellig ausgew\"ahlte Werte aus (benutze + \part Gib die ersten 10 Werte aus. + \part Gib die letzten 10 Werte aus. + \part Gib 10 zufaellig ausgew\"ahlte Werte aus (benutze \verb+randi+ um die Indizes zu erstellen). - \end{enumerate} - \item Erzeuge eine Variable und speichere etwas Text in ihr sodass - mindestens 2 Worte vorhanden sind. \\ - (\verb+x = 'some text'+). Benutze die Indizierung um die Woerter - einzeln auszugeben. - \item Definiere zwei Vektoren: \verb+x = [3 2 6 8];+ und + \end{parts} + + \question Erzeuge eine Variable und speichere etwas Text in ihr + sodass mindestens 2 Worte vorhanden sind. (\code{x = 'some + text'}). Benutze die Indizierung um die Woerter einzeln + auszugeben. + + \question Definiere zwei Vektoren: \verb+x = [3 2 6 8];+ und \verb+y = [4; 1; 3; 5];+ - \begin{enumerate} - \item Was sind die Gr\"o{\ss}en von \verb+x+ und \verb+y+ (siehe + \begin{parts} + \part Was sind die Gr\"o{\ss}en von \verb+x+ und \verb+y+ (siehe \verb+size+)? - \item ... addiere 5 zu jedem Element von \verb+x+. - \item ... addiere 3 zu jedem Element von y, dass einen ungeraden + \part ... addiere 5 zu jedem Element von \verb+x+. + \part ... addiere 3 zu jedem Element von y, dass einen ungeraden Index hat. - \item ... multipliziere jedes Element von \verb+x+ mit dem + \part ... multipliziere jedes Element von \verb+x+ mit dem entsprechenden Element in \verb+y+ und weise das Ergebnis der Variable \verb+z+ zu. - \end{enumerate} - \end{enumerate} + \end{parts} + \end{questions} \newpage \subsection{Matrizen} - \begin{enumerate} - \item Erstelle eine 5 x 5 Matrix die Zufallszahlen enth\"alt (nutze die + \begin{questions} + \question Erstelle eine 5 x 5 Matrix die Zufallszahlen enth\"alt (nutze die MATLAB Funktion \verb+randn()+, benutze die Hilfe. Was macht sie?). - \begin{enumerate} - \item Gib alle Elemente der ersten Zeile aus. - \item Gib alle Elemente der zweiten Spalte aus. - \item Greife mit einem einzigen Kommando auf die Elemente jeder + \begin{parts} + \part Gib alle Elemente der ersten Zeile aus. + \part Gib alle Elemente der zweiten Spalte aus. + \part Greife mit einem einzigen Kommando auf die Elemente jeder 2. Spalte zu und speichere die Daten in einer neuen Variable. - \end{enumerate} - \item Erstelle eine 3-D Matrix aus drei 2-D Matrizen. Benutze die + \end{parts} + + \question Erstelle eine 3-D Matrix aus drei 2-D Matrizen. Benutze die \verb+cat()+ Funktion f\"ur diesen Zweck (schaue in der Hilfe nach, wie sie benutzt wird). - \begin{enumerate} - \item Gib alle Elemente des ersten ``Blattes'' aus (Index 1 der 3. Dimension). - \end{enumerate} - \item Erstelle eine 3-D Matrix der Gr\"o{\ss}e \verb+[5, 5, 3]+ - mithilfe der Funktion \verb+ones()+. Multipliziere alle Elemente + \begin{parts} + \part Gib alle Elemente des ersten ``Blattes'' aus (Index 1 der 3. Dimension). + \end{parts} + + \question Erstelle eine 3-D Matrix der Gr\"o{\ss}e \verb+[5, 5, 3]+ + mithilfe der Funktion \code{ones()}. Multipliziere alle Elemente des ersten Blattes mit 1, die des zweiten mit 2, des dritten mit 3. - \item Erstelle folgende Variablen \verb+x = [1 5 9]+ and + + \question Erstelle folgende Variablen \verb+x = [1 5 9]+ and \verb+y = [7 1 5]+ und \verb+M = [3 1 6; 5 2 7]+. Welche der folgenden Operationen funktionieren? Wenn nicht, warum funktioneieren sie nicht? Teste Deine Vorhersagen. - \begin{enumerate} - \item \begin{verbatim} x + y \end{verbatim} - \item \begin{verbatim} x * M \end{verbatim} - \item \begin{verbatim} x + y' \end{verbatim} - \item \begin{verbatim} M - [x y] \end{verbatim} - \item \begin{verbatim} [x; y] \end{verbatim} - \item \begin{verbatim} M - [x; y] \end{verbatim} - \end{enumerate} - \item Erzeuge eine 5 x 5 x 5 Matrix die mit ganzzahligen + \begin{parts} + \part \code{x + y} + \part \code{x * M} + \part \code{x + y'} + \part \code{M - [x y]} + \part \code{[x; y]} + \part \code{M - [x; y]} + \end{parts} + + \question Erzeuge eine 5 x 5 x 5 Matrix die mit ganzzahligen Zufallszahlen zwischen 0 und 100 gefuellt ist. - \begin{enumerate} - \item Berechne den Mittelwert aller Bl\"atter dieser Matrix (benutze \verb+mean()+, siehe Hilfe). - \end{enumerate} - \item Matrizen k\"onnen neben der ``normalen'' \textit{subscript} + \begin{parts} + \part Berechne den Mittelwert aller Bl\"atter dieser Matrix (benutze \verb+mean()+, siehe Hilfe). + \end{parts} + + \question Matrizen k\"onnen neben der ``normalen'' \textit{subscript} Indizierung auch \textit{linear} indiziert werden (siehe Hilfe \"uber Indexing oder Funktionen \verb+sub2ind+ oder \verb+ind2sub+). - \begin{enumerate} - \item Erstelle eine 3-D Matrix mit Zufallszahlen mit der Dimensionalit\"at + \begin{parts} + \part Erstelle eine 3-D Matrix mit Zufallszahlen mit der Dimensionalit\"at \verb+[10,10,10]+. - \item Wie viele Werte enth\"alt sie? - \item Benutze das lineare Indizieren um 500 zuf\"allige Werte + \part Wie viele Werte enth\"alt sie? + \part Benutze das lineare Indizieren um 500 zuf\"allige Werte auszuw\"ahlen. - \item Wo liegt der Vorteil gegen\"uber der \textit{subscript} + \part Wo liegt der Vorteil gegen\"uber der \textit{subscript} Indizierung? - \end{enumerate} - \end{enumerate} + \end{parts} + \end{questions} \end{document} \ No newline at end of file