Merge branch 'master' of raven.am28.uni-tuebingen.de:scientificComputing
This commit is contained in:
commit
69f2deb0fd
@ -43,7 +43,7 @@ mir zugeschickt werden (jan.grewe@uni-tuebingen.de). Jede Aufgabe
|
|||||||
sollte in einer eigenen ``Zelle'' gel\"ost sein. Die Zellen
|
sollte in einer eigenen ``Zelle'' gel\"ost sein. Die Zellen
|
||||||
\textbf{m\"ussen} unabh\"angig voneinander ausf\"uhrbar sein. Das
|
\textbf{m\"ussen} unabh\"angig voneinander ausf\"uhrbar sein. Das
|
||||||
Skript sollte nach dem Muster: ``variablen\_datentypen\_\{nachname\}.m''
|
Skript sollte nach dem Muster: ``variablen\_datentypen\_\{nachname\}.m''
|
||||||
benannt werden (z.B. variablen\_datentypen\_mueller.m).
|
benannt werden (z.B. variablen\_datentypen\_meier.m).
|
||||||
|
|
||||||
\begin{questions}
|
\begin{questions}
|
||||||
|
|
||||||
@ -78,9 +78,9 @@ benannt werden (z.B. variablen\_datentypen\_mueller.m).
|
|||||||
\question Berechne die Fakult\"at von 5:
|
\question Berechne die Fakult\"at von 5:
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Erzeuge eine Variable \code{x} und weise ihr den Wert 1 zu.
|
\part Erzeuge eine Variable \code{x} und weise ihr den Wert 1 zu.
|
||||||
\part Berechne den ersten Schritt und weise das Ergebnis \code{x}
|
\part Berechne den ersten Schritt (\code{*2}) und weise das Ergebnis \code{x}
|
||||||
zu.
|
zu.
|
||||||
\part Wiederhole bis die Fakult\"at von 5 berechnet ist. \code{x}
|
\part Fahre schrittweise fort, bis die Fakult\"at von 5 berechnet ist. \code{x}
|
||||||
sollte nun das Endergebnis enthalten.
|
sollte nun das Endergebnis enthalten.
|
||||||
\end{parts}
|
\end{parts}
|
||||||
XXX Die Aufgabe kann als Motivation fuer eine for schleife verwendet werden! XXX
|
XXX Die Aufgabe kann als Motivation fuer eine for schleife verwendet werden! XXX
|
||||||
@ -125,7 +125,7 @@ Variable? Warum?
|
|||||||
\part Die Variable \code{b} soll den Wert \code{3*(a-1)} erhalten.
|
\part Die Variable \code{b} soll den Wert \code{3*(a-1)} erhalten.
|
||||||
\part Welches Ergebnis erwartest du f\"ur \code{b-1} ?
|
\part Welches Ergebnis erwartest du f\"ur \code{b-1} ?
|
||||||
\part Berechne mit matlab \code{b-1} !
|
\part Berechne mit matlab \code{b-1} !
|
||||||
\part Was ist \code{sin(pi)} ?
|
\part Was sollte \code{sin(pi)} ergeben ? Was sagt matlab?
|
||||||
\end{parts}
|
\end{parts}
|
||||||
|
|
||||||
\end{questions}
|
\end{questions}
|
||||||
|
@ -42,17 +42,20 @@ mir zugeschickt werden (jan.grewe@uni-tuebingen.de). Jede Aufgabe
|
|||||||
sollte in einer eigenen ``Zelle'' gel\"ost sein. Die Zellen
|
sollte in einer eigenen ``Zelle'' gel\"ost sein. Die Zellen
|
||||||
\textbf{m\"ussen} unabh\"angig voneinander ausf\"uhrbar sein. Das
|
\textbf{m\"ussen} unabh\"angig voneinander ausf\"uhrbar sein. Das
|
||||||
Skript sollte nach dem Muster: ``variablen\_datentypen\_\{nachname\}.m''
|
Skript sollte nach dem Muster: ``variablen\_datentypen\_\{nachname\}.m''
|
||||||
benannt werden (z.B. variablen\_datentypen\_mueller.m).
|
benannt werden (z.B. variablen\_datentypen\_meier.m).
|
||||||
|
|
||||||
\section{Vektoren}
|
|
||||||
|
|
||||||
\begin{questions}
|
\begin{questions}
|
||||||
\question Erzeuge folgende Vektoren:
|
|
||||||
|
\section*{Vektoren}
|
||||||
|
|
||||||
|
\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.
|
||||||
\part Von 2 bis 20 in 2er Schritten.
|
\part Von 0 bis 20 in 2er Schritten.
|
||||||
\part Mit \textbf{absteigendem} Inhalt von 100 bis 0.
|
\part Mit \textbf{absteigendem} Inhalt von 100 bis 0.
|
||||||
\part In 100 Schritten von 0 bis $2\pi$ ($\pi$ ist als Konstante \verb+pi+
|
\part In 10 Schritten von 0 bis 1.
|
||||||
|
\part In 11 Schritten von 0 bis 1.
|
||||||
|
\part In 50 Schritten von 0 bis $2\pi$ ($\pi$ ist als Konstante \verb+pi+
|
||||||
in Matlab definiert).
|
in Matlab definiert).
|
||||||
\end{parts}
|
\end{parts}
|
||||||
|
|
||||||
@ -60,15 +63,20 @@ benannt werden (z.B. variablen\_datentypen\_mueller.m).
|
|||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Erzeuge einen Vektor mit 100 Zufallszahlen (z.B. mit der
|
\part Erzeuge einen Vektor mit 100 Zufallszahlen (z.B. mit der
|
||||||
Funktion \verb+rand+).
|
Funktion \verb+rand+).
|
||||||
|
XXX Problem: rand(100) macht matrix. Also doch lieber 0:100:0.1 ? XXX
|
||||||
|
\part Gib jeweils den ersten, den letzten, den 5., 24. und den vorletzten Wert aus.
|
||||||
\part Gib die ersten 10 Werte aus.
|
\part Gib die ersten 10 Werte aus.
|
||||||
\part Gib die letzten 10 Werte aus.
|
\part Gib die letzten 10 Werte aus.
|
||||||
\part Gib 10 zufaellig ausgew\"ahlte Werte aus (benutze
|
\part Gib die Werte an den Stellen 3, 15, und 42 zusammen als Vektor aus.
|
||||||
|
\part Gib 10 zuf\"allig ausgew\"ahlte Werte aus (benutze
|
||||||
\verb+randi+ um die Indizes zu erstellen).
|
\verb+randi+ um die Indizes zu erstellen).
|
||||||
|
XXX wieder das matrix Problem von randi XXX
|
||||||
|
|
||||||
\end{parts}
|
\end{parts}
|
||||||
|
|
||||||
\question Erzeuge eine Variable und speichere etwas Text in ihr
|
\question Erzeuge eine Variable und speichere etwas Text in ihr,
|
||||||
sodass mindestens 2 Worte vorhanden sind. (\code{x = 'some
|
so dass mindestens 2 Worte vorhanden sind. (z.B. \code{x = 'some
|
||||||
text'}). Benutze die Indizierung um die Woerter einzeln
|
text'}). Benutze die Indizierung um die W\"orter einzeln
|
||||||
auszugeben.
|
auszugeben.
|
||||||
|
|
||||||
\question Definiere zwei Vektoren: \verb+x = [3 2 6 8];+ und
|
\question Definiere zwei Vektoren: \verb+x = [3 2 6 8];+ und
|
||||||
@ -77,42 +85,42 @@ benannt werden (z.B. variablen\_datentypen\_mueller.m).
|
|||||||
\part Was sind die Gr\"o{\ss}en von \verb+x+ und \verb+y+ (siehe
|
\part Was sind die Gr\"o{\ss}en von \verb+x+ und \verb+y+ (siehe
|
||||||
\verb+size+)?
|
\verb+size+)?
|
||||||
\part ... addiere 5 zu jedem Element von \verb+x+.
|
\part ... addiere 5 zu jedem Element von \verb+x+.
|
||||||
\part ... addiere 3 zu jedem Element von y, dass einen ungeraden
|
\part ... addiere 3 zu jedem Element von y, das einen ungeraden
|
||||||
Index hat.
|
Index hat.
|
||||||
\part ... multipliziere jedes Element von \verb+x+ mit dem
|
\part ... multipliziere jedes Element von \verb+x+ mit dem
|
||||||
entsprechenden Element in \verb+y+ und weise das Ergebnis der
|
entsprechenden Element in \verb+y+ und weise das Ergebnis der
|
||||||
Variable \verb+z+ zu.
|
Variable \verb+z+ zu.
|
||||||
|
XXX Vorher noch eine Aufgabe, bei der man nicht transponieren muss! XXX
|
||||||
\end{parts}
|
\end{parts}
|
||||||
\end{questions}
|
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\subsection{Matrizen}
|
\section*{Matrizen}
|
||||||
\begin{questions}
|
|
||||||
\question Erstelle eine 5 x 5 Matrix die Zufallszahlen enth\"alt (nutze die
|
\question Erstelle folgende Matrix
|
||||||
MATLAB Funktion \verb+randn()+, benutze die Hilfe. Was macht sie?).
|
\[ A = \left( \begin{array}{ccc} 7 & 3 & 5 \\ 1 & 8 & 3 \\ 8 & 6 & 4 \end{array} \right) \]
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Gib alle Elemente der ersten Zeile aus.
|
\part Gib das Element in der 3. Zeile und 2. Spalte aus.
|
||||||
\part Gib alle Elemente der zweiten Spalte aus.
|
\part Gib jeweils alle Elemente der 1., 2. und 3. Zeile aus.
|
||||||
\part Greife mit einem einzigen Kommando auf die Elemente jeder
|
\part Gib jeweils alle Elemente der 1., 2., und 3. Spalte aus.
|
||||||
2. Spalte zu und speichere die Daten in einer neuen Variable.
|
\part Erh\"ohe das Element in der 2. Zeile und 3. Spalte um Eins.
|
||||||
|
\part Ziehe von allen Elementen der 1. Zeile 5 ab.
|
||||||
|
\part Multipliziere alle Elementen der 3. Spalte mit 2.
|
||||||
\end{parts}
|
\end{parts}
|
||||||
|
|
||||||
\question Erstelle eine 3-D Matrix aus drei 2-D Matrizen. Benutze die
|
\question Erstelle eine $5 \times 5$ Matrix die Zufallszahlen enth\"alt (nutze die
|
||||||
\verb+cat()+ Funktion f\"ur diesen Zweck (schaue in der Hilfe
|
MATLAB Funktion \verb+randn()+. Benutze die Hilfe: Was macht die Funktion?).
|
||||||
nach, wie sie benutzt wird).
|
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Gib alle Elemente des ersten ``Blattes'' aus (Index 1 der 3. Dimension).
|
\part Gib das Element in der 2. Zeile und 3. Spalte aus.
|
||||||
|
\part Gib jeweils alle Elemente der 1., 3. und letzten Zeile aus.
|
||||||
|
\part Gib jeweils alle Elemente der 2. und 4. Spalte aus.
|
||||||
|
\part Greife mit einem einzigen Kommando auf die Elemente jeder
|
||||||
|
zweiten Spalte zu und speichere die Daten in einer neuen Variable.
|
||||||
\end{parts}
|
\end{parts}
|
||||||
|
|
||||||
\question Erstelle eine 3-D Matrix der Gr\"o{\ss}e \verb+[5, 5, 3]+
|
|
||||||
mithilfe der Funktion \code{ones()}. Multipliziere alle Elemente
|
|
||||||
des ersten Blattes mit 1, die des zweiten mit 2, des dritten mit
|
|
||||||
3.
|
|
||||||
|
|
||||||
\question Erstelle folgende Variablen \verb+x = [1 5 9]+ and
|
\question 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
|
\verb+y = [7 1 5]+ und \verb+M = [3 1 6; 5 2 7]+. Welche der
|
||||||
folgenden Operationen funktionieren? Wenn nicht, warum
|
folgenden Operationen funktionieren? Wenn nicht, warum
|
||||||
funktioneieren sie nicht? Teste Deine Vorhersagen.
|
funktionieren sie nicht? Teste Deine Vorhersagen.
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part \code{x + y}
|
\part \code{x + y}
|
||||||
\part \code{x * M}
|
\part \code{x * M}
|
||||||
@ -122,13 +130,27 @@ benannt werden (z.B. variablen\_datentypen\_mueller.m).
|
|||||||
\part \code{M - [x; y]}
|
\part \code{M - [x; y]}
|
||||||
\end{parts}
|
\end{parts}
|
||||||
|
|
||||||
\question Erzeuge eine 5 x 5 x 5 Matrix die mit ganzzahligen
|
\question Erstelle eine 3-D Matrix aus drei 2-D Matrizen. Benutze die
|
||||||
Zufallszahlen zwischen 0 und 100 gefuellt ist.
|
\verb+cat()+ Funktion f\"ur diesen Zweck (schaue in der Hilfe
|
||||||
|
nach, wie sie benutzt wird).
|
||||||
|
\begin{parts}
|
||||||
|
\part Gib alle Elemente des ersten ``Blattes'' aus (Index 1 der 3. Dimension).
|
||||||
|
\end{parts}
|
||||||
|
|
||||||
|
\question Erstelle eine 3-D Matrix der Gr\"o{\ss}e \verb+[5, 5, 3]+
|
||||||
|
mithilfe der Funktion \code{ones()}. Multipliziere alle Elemente
|
||||||
|
des ersten Blattes mit 1, die des zweiten mit 2, des dritten mit
|
||||||
|
3.
|
||||||
|
|
||||||
|
\question Erzeuge eine $5 \times 5 \times 5$ Matrix die mit ganzzahligen, gleichverteilten
|
||||||
|
Zufallszahlen zwischen 0 und 100 gef\"ullt ist.
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Berechne den Mittelwert aller Bl\"atter dieser Matrix (benutze \verb+mean()+, siehe Hilfe).
|
\part Berechne den Mittelwert aller Bl\"atter dieser Matrix (benutze \verb+mean()+, siehe Hilfe).
|
||||||
\end{parts}
|
\end{parts}
|
||||||
|
XXX Das geht auch in 2D: Mittelwerte der Zeilen, bzw. Spalten! Das waere sehr wichtig! Auch um den Anschluss an excel zu machen! XXXX
|
||||||
|
|
||||||
\question Matrizen k\"onnen neben der ``normalen'' \textit{subscript}
|
\question Matrizen k\"onnen neben der ``normalen'' \textit{subscript}
|
||||||
|
XXX Das wuerde ich mit einer 2D Matrize machen! XXX
|
||||||
Indizierung auch \textit{linear} indiziert werden (siehe Hilfe
|
Indizierung auch \textit{linear} indiziert werden (siehe Hilfe
|
||||||
\"uber Indexing oder Funktionen \verb+sub2ind+ oder
|
\"uber Indexing oder Funktionen \verb+sub2ind+ oder
|
||||||
\verb+ind2sub+).
|
\verb+ind2sub+).
|
||||||
|
Reference in New Issue
Block a user