Merge branch 'master' of whale.am28.uni-tuebingen.de:scientificComputing

This commit is contained in:
Jan Grewe 2016-10-25 09:26:57 +02:00
commit c262e8e035

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
``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).
\linebreak ``vektoren\_matrizen\_\{nachname\}.m'' benannt werden
(z.B. vektoren\_matrizen\_mueller.m).
\begin{questions}
\section*{Vektoren}
\question Erzeuge Vektoren mit folgendem Inhalt:
\begin{parts}
\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.
\begin{solution}
* 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}\\
(m,n)*(n,o) w\"are ok.
\end{solution}
@ -180,7 +178,7 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\end{solution}
\part Gib die letzten 10 Werte aus.
\begin{solution}
\code{disp(x(end-10:end))}
\code{disp(x(end-9:end))}
\end{solution}
\part Versuche den Wert an der Stelle 0 auszugeben.
\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 &
4 \end{array} \right) \]
\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.
\begin{solution}
\code{x = [7 3 5; 1 8 3; 8 6 4];\\x(3,2)}
\code{x(3,2)}
\end{solution}
\part Gib jeweils alle Elemente der 1., 2. und 3. Zeile aus.
\begin{solution}
\code{x([1 2 3],:);}
\code{disp(x([1 2 3],:));}
\end{solution}
\part Gib jeweils alle Elemente der 1., 2., und 3. Spalte aus.
\begin{solution}
@ -250,6 +256,7 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\begin{parts}
\part Gib das Element in der 2. Zeile und 3. Spalte aus.
\begin{solution}
\code{M = randn(5, 5);}
\code{disp(M(2,3))}
\end{solution}
@ -292,7 +299,7 @@ voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
\end{solution}
\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?
\begin{solution}
\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?
\begin{solution}
100
\code{disp(numel(x))}
\end{solution}
\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}
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..
\begin{solution}
\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
(benutze \verb+mean()+, siehe Hilfe).
\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{parts}
\end{questions}
\end{document}
\end{document}