[exercises] control flow

This commit is contained in:
Jan Grewe 2015-10-08 13:37:02 +02:00
parent 07677d2526
commit 2e04e03464

View File

@ -46,33 +46,64 @@ Skript sollte nach dem Muster: ``variablen\_datentypen\_\{nachname\}.m''
benannt werden (z.B. variablen\_datentypen\_mueller.m).
\begin{questions}
\question Implementiere \code{for} Schleifen bei denen die Laufvariable:
\begin{parts}
\part ... von 0 bis 10 l\"auft. Gib den Wert der Laufvariable im
Schleifenk\"orper aus.
\part ... von 10 bis 0 l\"auft. Gib den Wert der Laufvariable aus.
\part ... von 0 bis 1 in einer Schrittweite von 0.1 l\"auft. Gib
die Laufvariable aus.
\end{parts}
\question Erzeuge einen Vektor \verb+x+ mit z.B. 50 Zufallszahlen im Bereich 0 - 10.
\question Zugriff auf Elemente in Vektoren:
\begin{parts}
\part Benutze eine Schleife um das arithmetische Mittel zu berechnen. Der Mittelwert ist definiert als:
\part Definiere einen Vektor \code{x} mit Werten von 1:100.
\part Benutze eine \code{for} Schleife um jedes Element von
\code{x} auszugeben indem die Laufvariable zum indizieren benutzt wird.
\part ... gleiches nur ohne eine Laufvariable zu nutzen.
\end{parts}
\question Erzeuge einen Vektor \verb+x+ mit 50 Zufallszahlen im
Bereich 0 - 10.
\begin{parts}
\part 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 $.
\part Benutze eine Schleife um die Standardabweichung zu bestimmen:
\part Benutze eine Schleife um die Standardabweichung zu
bestimmen:
$\sigma=\sqrt{\frac{1}{n}\sum\limits_{i=0}^{n}(x_i-\overline{x})^2}$).
\part Suche in der MATLAB Hilfe nach Funktionen, die das f\"ur
dich tuen :-).
dich tun :-).
\end{parts}
\question Benutze eine \verb+while+ Schleife um so lange Zufallszahlen
(\verb+randn+) zu ziehen, bis eine Zahl gr\"o{\ss}er 0.98 gezogen
wurde. Z\"ahle die Anzahl n\"otiger Versuche.
\question Implementiere eine \code{while} Schleife
\begin{parts}
\part ... die 100 mal durchlaufen wird. Gib den aktuellen
Durchlauf im Schleifenk\"orper aus.
\part ... die endlos l\"auft. Sie kann mir \code{Strg + C}
abgebrochen werden.
\end{parts}
\question Nutze eine endlose \code{while} Schleife um einzeln die
Elemente eines Vektor der L\"ange 10 auszugeben.
\question Erzeuge eine 5 x 5 x 5 Matrix mit Zufallszahlen.
\question Benutze eine endlose \verb+while+ Schleife um so lange
Zufallszahlen (\verb+randn+) zu ziehen, bis eine Zahl gr\"o{\ss}er
1.33 gezogen wurde.
\begin{parts}
\part Benutze eine for Schleife um nacheinander jeweils alle
Elemente der ``Bl\"atter'' auszugeben.
\part Das gleiche mit einer while-Schleife.
\part Z\"ahle die Anzahl n\"otiger Versuche.
\part Nuzte eine \code{for} Schleife um den vorherigen Test
1000 mal laufen zu lassen. Merke Dir alle Anzahlen und berechne den
Mittelwert davon.
\part Plotte die Anzahl notwendiger Versuche.
\part Spiele mit der Schwelle, was passiert?
\end{parts}
\question Erstelle \verb+x+ einen Vektor mit 10 Zufallszahlen im
Bereich 0:10.
\begin{parts}
\part Benutze eine for-Schleife um all die Elemente zu loeschen,
die (\verb+x(index) = [];+) kleiner als 5 sind.
\part Benutze eine \code{for} Schleife um all die Elemente zu
loeschen (\code{x(index) = [];}), die kleiner als 5 sind.
\part Loesche alle Elemente die kleiner als 5 und groesser als 2
sind.
\part Kann man das gleiche auch ohne eine Schleife erledigen?
@ -86,19 +117,19 @@ benannt werden (z.B. variablen\_datentypen\_mueller.m).
was kommt heraus?
\question String parsing: Mitunter werden Dateinamen von
Datens\"atzen benutzt um anzuzeigen unter welchenBedingungen die
Datens\"atzen benutzt um anzuzeigen, unter welchen Bedingungen die
Daten gewonnen wurden. Man muss also den Dateinamen parsen und die
f\"ur einen relevante Information herausfiltern.
\begin{parts}
\part Erstelle eine Variable
\verb+filename = '2010-10-12_100Hz_1.25V.dat'+. Der Unterstrich
\verb+filename = '2015-10-12_100Hz_1.25V.dat'+. Der Unterstrich
ist offensichtlich das verwendete Trennzeichen.
\part Benutze eine \verb+for+ Schleife um durch alle Zeichen zu
laufen. Vergleiche jedes Zeichen mit dem Unterstrich und merke
dir die Positionen.
Dir die Positionen in einem Vektor.
\part Benutze eine zweite Schleife um durch diesen
Positionsvektor zu laufen und benutze die darin enthaltene
Information um den \verb+filename+ in Teile zu schneiden.
Information um den \code{filename} in Teile zu schneiden.
\part Gib die einzelnen Teile auf dem Bildschirm aus.
\end{parts}