\documentclass[12pt,a4paper,pdftex]{exam}

\usepackage[german]{babel}
\usepackage{natbib}
\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
    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{\baselineskip}{15pt}
\setlength{\parindent}{0.0cm}
\setlength{\parskip}{0.3cm}
\renewcommand{\baselinestretch}{1.15}

\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 \"Ubung und Selbstkontrolle und
sollten eigenst\"andig bearbeitet und gel\"ost werden. Die L\"osung
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''
benannt werden (z.B. variablen\_datentypen\_meier.m).

\begin{questions}

  \section*{Vektoren}

    \question Erzeuge Vektoren mit folgendem Inhalt: 
    \begin{parts}
    \part Von 1 bis 10 in ganzzahligen Schritten.
    \part Von 0 bis 20 in 2er Schritten.
    \part Mit \textbf{absteigendem} Inhalt von 100 bis 0.
    \part In 10 Schritten von 0 bis 1.
    \part In 11 Schritten von 0 bis 1.
    \part In 50 Schritten von 0 bis $2\pi$ ($\pi$ ist als Konstante \verb+pi+
      in Matlab definiert).
    \end{parts}

  \question Indizieren:
    \begin{parts}
    \part Erzeuge einen Vektor mit 100 Zufallszahlen (z.B. mit der
      Funktion \verb+rand+).
XXX Problem: rand(100) macht matrix. Also doch lieber 0:100:0.1 ? XXX
    \part Gib jeweils den ersten, den letzten, den 5., 24. und den vorletzten Wert aus.
    \part Gib die ersten 10 Werte aus.
    \part Gib die letzten 10 Werte aus.
    \part Gib die Werte an den Stellen 3, 15, und 42 zusammen als Vektor aus.
    \part Gib 10 zuf\"allig ausgew\"ahlte Werte aus (benutze
      \verb+randi+ um die Indizes zu erstellen).
XXX wieder das matrix Problem von randi XXX
      
    \end{parts}

    \question Erzeuge eine Variable und speichere etwas Text in ihr,
    so dass mindestens 2 Worte vorhanden sind.  (z.B. \code{x = 'some
    text'}). Benutze die Indizierung um die W\"orter einzeln
    auszugeben.

  \question Definiere zwei Vektoren: \verb+x = [3 2 6 8];+ und
    \verb+y = [4; 1; 3; 5];+
    \begin{parts}
    \part Was sind die Gr\"o{\ss}en von \verb+x+ und \verb+y+ (siehe
      \verb+size+)?
    \part ... addiere 5 zu jedem Element von \verb+x+.
    \part ... addiere 3 zu jedem Element von y, das einen ungeraden
      Index hat.
    \part ... multipliziere jedes Element von \verb+x+ mit dem
      entsprechenden Element in \verb+y+ und weise das Ergebnis der
      Variable \verb+z+ zu.
XXX Vorher noch eine Aufgabe, bei der man nicht transponieren muss! XXX
    \end{parts}

  \newpage
  \section*{Matrizen}

  \question Erstelle folgende Matrix
  \[ A = \left( \begin{array}{ccc} 7 & 3 & 5 \\ 1 & 8 & 3 \\ 8 & 6 & 4 \end{array} \right) \]
    \begin{parts}
      \part Gib das Element in der 3. Zeile und 2. Spalte aus.
      \part Gib jeweils alle Elemente der 1., 2. und 3. Zeile aus.
      \part Gib jeweils alle Elemente der 1., 2., und 3. Spalte aus.
      \part Erh\"ohe das Element in der 2. Zeile und 3. Spalte um Eins.
      \part Ziehe von allen Elementen der 1. Zeile 5 ab.
      \part Multipliziere alle Elementen der 3. Spalte mit 2.
    \end{parts}

  \question Erstelle eine $5 \times 5$ Matrix die Zufallszahlen enth\"alt (nutze die 
    MATLAB Funktion \verb+randn()+. Benutze die Hilfe: Was macht die Funktion?). 
    \begin{parts}
      \part Gib das Element in der 2. Zeile und 3. Spalte aus.
      \part Gib jeweils alle Elemente der 1., 3. und letzten Zeile aus.
      \part Gib jeweils alle Elemente der 2. und 4. Spalte aus.
      \part Greife mit einem einzigen Kommando auf die Elemente jeder
      zweiten Spalte zu und speichere die Daten in einer neuen Variable.
    \end{parts}

  \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
    funktionieren sie nicht? Teste Deine Vorhersagen.
    \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 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{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.

  \question Erzeuge eine $5 \times 5 \times 5$ Matrix die mit ganzzahligen, gleichverteilten
    Zufallszahlen zwischen 0 und 100 gef\"ullt ist.
    \begin{parts}
    \part  Berechne den Mittelwert aller Bl\"atter dieser Matrix (benutze \verb+mean()+, siehe Hilfe).
    \end{parts}
    XXX Das geht auch in 2D: Mittelwerte der Zeilen, bzw. Spalten! Das waere sehr wichtig! Auch um den Anschluss an excel zu machen! XXXX

  \question Matrizen k\"onnen neben der ``normalen'' \textit{subscript}
XXX Das wuerde ich mit einer 2D Matrize machen! XXX
    Indizierung auch \textit{linear} indiziert werden (siehe Hilfe
    \"uber Indexing oder Funktionen \verb+sub2ind+ oder
    \verb+ind2sub+).
    \begin{parts}
    \part Erstelle eine 3-D Matrix mit Zufallszahlen mit der Dimensionalit\"at
      \verb+[10,10,10]+.
    \part Wie viele Werte enth\"alt sie?
    \part Benutze das lineare Indizieren um 500 zuf\"allige Werte
      auszuw\"ahlen.
    \part Wo liegt der Vorteil gegen\"uber der \textit{subscript}
      Indizierung?
    \end{parts}
  \end{questions}

\end{document}