From 6df314efe8d826649ca8020f6a96c80c418e251e Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Tue, 6 Oct 2015 11:33:25 +0200 Subject: [PATCH] [exercises 1] cleanup --- programming/exercises/variables_types.tex | 136 +--------------------- 1 file changed, 1 insertion(+), 135 deletions(-) diff --git a/programming/exercises/variables_types.tex b/programming/exercises/variables_types.tex index 941b79c..85def7b 100644 --- a/programming/exercises/variables_types.tex +++ b/programming/exercises/variables_types.tex @@ -93,138 +93,4 @@ und 64 bit Datentypen abgelegt werden k\"onnen? \end{enumerate} \end{enumerate} -\end{document} - -\newpage -\section{Aufgaben} - -\subsection{Vektoren} - \begin{enumerate} - \item Erzeuge Vektoren: - \begin{enumerate} - \item Von 1 bis 10 in ganzzahligen Schritten. - \item $2:20$ in 2er Schritten. - \item mit absteigendem Inhalt von 100 bis 0. - \item In 100 Schritten von 0 bis $2\pi$ ($\pi$ ist als Konstante 'pi' - in Matlab definiert). - \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];+ and \verb+y = [4; 1; 3; 5];+ - \begin{enumerate} - \item ... addiere 5 zu jedem Element von \verb+x+. - \item ... addiere 3 zu jedem Element zu jedem Element von y, dass einen nicht gerade 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 Elemnte 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 in der 3. Dimension). - \end{enumerate} - \item Erstelle eine 3-D Matrix mithilfe der Funktion - \verb+ones()+. Multipliziere das erste Blatt mit 1, das zweite mit - 2, dritte mit 3 etc. - \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} - \end{enumerate} - -\newpage -\section{Boolesche Operationen} - -\begin{enumerate} -\item Gegeben sind zwei Vektoren \verb+x = [1 5 2 8 9 0 1]+ und - \verb+y = [5 2 2 6 0 0 2]+. F\"uhre aus und erkl\"are. - \begin{enumerate} - \item \verb+x > y+ - \item \verb+y < x+ - \item \verb+x == y+ - \item \verb+x ~= y+ - \item \verb+x & ~y+ - \item \verb+x | y+ - \end{enumerate} -\end{enumerate} - -\newpage -\section{Logische Indizierung} -\begin{enumerate} - \item Gegeben sind \verb+x = (1:10)+ und - \verb+y = [3 1 5 6 8 2 9 4 7 0]+. Try to understand the following - commands. - \begin{enumerate} - \item \verb+x( (y <= 2) )+ - \item \verb+x( (x > 2) | (y < 8) )+ - \item \verb+x( (x == 0) & (y == 0) )+ - \end{enumerate} - \item Erzeuge eine 100x100 2-D Matrix mit Zufallswerten zwischen 0 und 100 (\verb+randi+). Ersetze \verb+x < 33+ mit 0, \verb+x >= 33 und x < 66+ mit 1 und alle \verb+x >= 66+ auf 2. - \item Ermittle die Anzahl Elemente fuer jede Klasse mithilfe eines Booleschen Ausdrucks. -\end{enumerate} - - -\newpage -\section{Kontrollstrukturen} - -\begin{enumerate} - \item Erzeuge einen Vektor '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 fuer dich tuen :-). - \end{enumerate} - \item Erzeuge eine 5 x 5 x 5 Matrix mit Zufallszahlen. - \begin{enumerate} - \item Benutze eine for Schleife um nacheinander die Elemente jedes ``Blattes'' einzeln auszugeben. - \item Das gleich mit einer while-Schleife. - \end{enumerate} - \item Erstelle '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 zaehle die Anzahl der - Elemente, die durch folgende Grenzen getrennt werden [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? -\end{enumerate} - - -\end{document} - +\end{document} \ No newline at end of file