This repository has been archived on 2021-05-17. You can view files and clone it, but cannot push or open issues or pull requests.
scientificComputing/programming/exercises/vectors_matrices.tex

146 lines
5.5 KiB
TeX

\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\_mueller.m).
\section{Vektoren}
\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{parts}
\question Indizieren:
\begin{parts}
\part Erzeuge einen Vektor mit 100 Zufallszahlen (z.B. mit der
Funktion \verb+rand+).
\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{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{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, dass 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.
\end{parts}
\end{questions}
\newpage
\subsection{Matrizen}
\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{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{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 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{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{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{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}