\documentclass[12pt,a4paper,pdftex]{article} \usepackage{natbib} \usepackage{graphicx} \usepackage[margin=1.5in]{geometry} \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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % letter : 8.5 x 11 in \setlength{\headheight}{5mm} % default ~5mm \setlength{\headsep}{8mm} % default ~10mm \setlength{\topmargin}{15mm} % default ~8mm \setlength{\textheight}{23cm} \setlength{\oddsidemargin}{2.5cm} \setlength{\evensidemargin}{2.5cm} \setlength{\textwidth}{16cm} \setlength{\voffset}{-1in} \setlength{\hoffset}{-1in} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \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 }} \begin{document} \maketitle 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{Aufgaben} \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+ in Matlab definiert). \end{enumerate} \item Indizieren: \begin{enumerate} \item 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 \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 \verb+y = [4; 1; 3; 5];+ \begin{enumerate} \item 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 Index hat. \item ... 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} \newpage \subsection{Matrizen} \begin{enumerate} \item 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 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 \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 des ersten Blattes mit 1, die des zweiten mit 2, des dritten mit 3. \item 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 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} 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 \verb+[10,10,10]+. \item Wie viele Werte enth\"alt sie? \item Benutze das lineare Indizieren um 500 zuf\"allige Werte auszuw\"ahlen. \item Wo liegt der Vorteil gegen\"uber der \textit{subscript} Indizierung? \end{enumerate} \end{enumerate} \end{document}