exercise update

This commit is contained in:
Jan Grewe 2016-10-18 21:53:44 +02:00
parent 91564a7ef9
commit ef6397b432

View File

@ -42,13 +42,11 @@ werden. Die L\"osung soll in Form eines einzelnen Skriptes (m-files)
im ILIAS hochgeladen werden. Jede Aufgabe sollte in einer eigenen im ILIAS hochgeladen werden. Jede Aufgabe sollte in einer eigenen
``Zelle'' gel\"ost sein. Die Zellen \textbf{m\"ussen} unabh\"angig ``Zelle'' gel\"ost sein. Die Zellen \textbf{m\"ussen} unabh\"angig
voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster: voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
``variablen\_datentypen\_\{nachname\}.m'' benannt werden \linebreak ``vektoren\_matrizen\_\{nachname\}.m'' benannt werden
(z.B. variablen\_datentypen\_mueller.m). (z.B. vektoren\_matrizen\_mueller.m).
\begin{questions} \begin{questions}
\section*{Vektoren} \section*{Vektoren}
\question Erzeuge Vektoren mit folgendem Inhalt: \question Erzeuge Vektoren mit folgendem Inhalt:
\begin{parts} \begin{parts}
\part Von 1 bis 10 in ganzzahligen Schritten. \part Von 1 bis 10 in ganzzahligen Schritten.
@ -118,7 +116,7 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\part Erkl\"are die Fehlermeldung. \part Erkl\"are die Fehlermeldung.
\begin{solution} \begin{solution}
* ist der Operator f\"ur die Matrixmultiplikation. Bei dieser * ist der Operator f\"ur die Matrixmultiplikation. Bei dieser
muessen die inneren Dimensionen \"uebereinstimmen. muessen die inneren Dimensionen \"uebereinstimmen.\linebreak
\code{disp(size(x))\\1 4 \\disp(size(y)) \\ 1 4}\\ \code{disp(size(x))\\1 4 \\disp(size(y)) \\ 1 4}\\
(m,n)*(n,o) w\"are ok. (m,n)*(n,o) w\"are ok.
\end{solution} \end{solution}
@ -180,7 +178,7 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\end{solution} \end{solution}
\part Gib die letzten 10 Werte aus. \part Gib die letzten 10 Werte aus.
\begin{solution} \begin{solution}
\code{disp(x(end-10:end))} \code{disp(x(end-9:end))}
\end{solution} \end{solution}
\part Versuche den Wert an der Stelle 0 auszugeben. \part Versuche den Wert an der Stelle 0 auszugeben.
\begin{solution} \begin{solution}
@ -218,13 +216,21 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\[ A = \left( \begin{array}{ccc} 7 & 3 & 5 \\ 1 & 8 & 3 \\ 8 & 6 & \[ A = \left( \begin{array}{ccc} 7 & 3 & 5 \\ 1 & 8 & 3 \\ 8 & 6 &
4 \end{array} \right) \] 4 \end{array} \right) \]
\begin{parts} \begin{parts}
\part Benutze die Funktion \code{size} um die Gr\"o{\ss}e vpm \code{A} anzeeigen zu lassen.
\begin{solution}
\code{x = [7 3 5; 1 8 3; 8 6 4];\\disp(size(x))}
\end{solution}
\part Finde heraus, wie man \code{size} aufruft um nur die L\"ange entlang einer einzelnen Dimension auszugeben. Gib einzeln die L\"angen beider Dimensionen aus.
\begin{solution}
\code{disp(size(x, 1))}\\\code{disp(size(x, 2))}
\end{solution}
\part Gib das Element in der 3. Zeile und 2. Spalte aus. \part Gib das Element in der 3. Zeile und 2. Spalte aus.
\begin{solution} \begin{solution}
\code{x = [7 3 5; 1 8 3; 8 6 4];\\x(3,2)} \code{x(3,2)}
\end{solution} \end{solution}
\part Gib jeweils alle Elemente der 1., 2. und 3. Zeile aus. \part Gib jeweils alle Elemente der 1., 2. und 3. Zeile aus.
\begin{solution} \begin{solution}
\code{x([1 2 3],:);} \code{disp(x([1 2 3],:));}
\end{solution} \end{solution}
\part Gib jeweils alle Elemente der 1., 2., und 3. Spalte aus. \part Gib jeweils alle Elemente der 1., 2., und 3. Spalte aus.
\begin{solution} \begin{solution}
@ -250,6 +256,7 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\begin{parts} \begin{parts}
\part Gib das Element in der 2. Zeile und 3. Spalte aus. \part Gib das Element in der 2. Zeile und 3. Spalte aus.
\begin{solution} \begin{solution}
\code{M = randn(5, 5);}
\code{disp(M(2,3))} \code{disp(M(2,3))}
\end{solution} \end{solution}
@ -292,7 +299,7 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\end{solution} \end{solution}
\part F\"uhre folgendes Kommando aus: \code{M(1:2,1) = [1, 2, \part F\"uhre folgendes Kommando aus: \code{M(1:2,1) = [1, 2,
3]}. Was k\''onnte die Absicht dieses Codes gewesen sein? Was 3]}. Was k\"onnte die Absicht dieses Codes gewesen sein? Was
bedeutet die Fehlermeldung? bedeutet die Fehlermeldung?
\begin{solution} \begin{solution}
\code{M(1:2,1) = [1, 2,3];\\ Subscripted assignment dimension \code{M(1:2,1) = [1, 2,3];\\ Subscripted assignment dimension
@ -315,7 +322,7 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\part Wie viele Werte enth\"alt sie? \part Wie viele Werte enth\"alt sie?
\begin{solution} \begin{solution}
100 \code{disp(numel(x))}
\end{solution} \end{solution}
\part Benutze das lineare Indizieren um 50 zuf\"allige Werte \part Benutze das lineare Indizieren um 50 zuf\"allige Werte
@ -326,6 +333,14 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\part Wo liegt der Vorteil gegen\"uber der \textit{subscript} \part Wo liegt der Vorteil gegen\"uber der \textit{subscript}
Indizierung? Indizierung?
\begin{solution}
Die Matrize ist 2-dimensional. Wenn mit dem subscript index
zugegriffen werden soll, dann muss auf die Dimensionen
einzeln geachtet werden. Mit dem linearen Indexieren kann einfach
einen Vektor mit n Indices benutzt werden. Wenn es auch noch eine
eindeutige (ohne doppelte) Auswahl sein soll, dann muss bei
2-D viel komplexer kontrollieren.
\end{solution}
\part Berechne die Summe aller Werte mit einem Funktionsaufruf.. \part Berechne die Summe aller Werte mit einem Funktionsaufruf..
\begin{solution} \begin{solution}
\code{sum(x(:))} oder \code{sum(sum(x))} \code{sum(x(:))} oder \code{sum(sum(x))}
@ -387,11 +402,9 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\part Berechne den Mittelwert aller Bl\"atter dieser Matrix \part Berechne den Mittelwert aller Bl\"atter dieser Matrix
(benutze \verb+mean()+, siehe Hilfe). (benutze \verb+mean()+, siehe Hilfe).
\begin{solution} \begin{solution}
\code{x = rand(5,5,5) .* 100;\\ disp(mean(mean(x(:,:,1))))\\ disp(mean(mean(x(:,:,2)))) \\ disp(mean(mean(x(:,:,3))))} \code{x = round(rand(5,5,5) .* 100);\\ Disp(mean(mean(x(:,:,1))))\\ disp(mean(mean(x(:,:,2)))) \\ disp(mean(mean(x(:,:,3))))}
\end{solution} \end{solution}
\end{parts} \end{parts}
\end{questions} \end{questions}
\end{document} \end{document}