Merge branch 'master' of whale.am28.uni-tuebingen.de:scientificComputing
This commit is contained in:
commit
c262e8e035
@ -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}
|
||||
|
Reference in New Issue
Block a user