[exercises] control flow
This commit is contained in:
parent
07677d2526
commit
2e04e03464
@ -46,33 +46,64 @@ Skript sollte nach dem Muster: ``variablen\_datentypen\_\{nachname\}.m''
|
|||||||
benannt werden (z.B. variablen\_datentypen\_mueller.m).
|
benannt werden (z.B. variablen\_datentypen\_mueller.m).
|
||||||
|
|
||||||
\begin{questions}
|
\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 Zugriff auf Elemente in Vektoren:
|
||||||
|
\begin{parts}
|
||||||
|
\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 z.B. 50 Zufallszahlen im Bereich 0 - 10.
|
\question Erzeuge einen Vektor \verb+x+ mit 50 Zufallszahlen im
|
||||||
|
Bereich 0 - 10.
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Benutze eine Schleife um das arithmetische Mittel zu berechnen. Der Mittelwert ist definiert als:
|
\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 $.
|
$\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}$).
|
$\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
|
\part Suche in der MATLAB Hilfe nach Funktionen, die das f\"ur
|
||||||
dich tuen :-).
|
dich tun :-).
|
||||||
|
\end{parts}
|
||||||
|
|
||||||
|
\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}
|
\end{parts}
|
||||||
|
|
||||||
\question Benutze eine \verb+while+ Schleife um so lange Zufallszahlen
|
\question Nutze eine endlose \code{while} Schleife um einzeln die
|
||||||
(\verb+randn+) zu ziehen, bis eine Zahl gr\"o{\ss}er 0.98 gezogen
|
Elemente eines Vektor der L\"ange 10 auszugeben.
|
||||||
wurde. Z\"ahle die Anzahl n\"otiger Versuche.
|
|
||||||
|
|
||||||
\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}
|
\begin{parts}
|
||||||
\part Benutze eine for Schleife um nacheinander jeweils alle
|
\part Z\"ahle die Anzahl n\"otiger Versuche.
|
||||||
Elemente der ``Bl\"atter'' auszugeben.
|
\part Nuzte eine \code{for} Schleife um den vorherigen Test
|
||||||
\part Das gleiche mit einer while-Schleife.
|
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}
|
\end{parts}
|
||||||
|
|
||||||
\question Erstelle \verb+x+ einen Vektor mit 10 Zufallszahlen im
|
\question Erstelle \verb+x+ einen Vektor mit 10 Zufallszahlen im
|
||||||
Bereich 0:10.
|
Bereich 0:10.
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Benutze eine for-Schleife um all die Elemente zu loeschen,
|
\part Benutze eine \code{for} Schleife um all die Elemente zu
|
||||||
die (\verb+x(index) = [];+) kleiner als 5 sind.
|
loeschen (\code{x(index) = [];}), die kleiner als 5 sind.
|
||||||
\part Loesche alle Elemente die kleiner als 5 und groesser als 2
|
\part Loesche alle Elemente die kleiner als 5 und groesser als 2
|
||||||
sind.
|
sind.
|
||||||
\part Kann man das gleiche auch ohne eine Schleife erledigen?
|
\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?
|
was kommt heraus?
|
||||||
|
|
||||||
\question String parsing: Mitunter werden Dateinamen von
|
\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
|
Daten gewonnen wurden. Man muss also den Dateinamen parsen und die
|
||||||
f\"ur einen relevante Information herausfiltern.
|
f\"ur einen relevante Information herausfiltern.
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Erstelle eine Variable
|
\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.
|
ist offensichtlich das verwendete Trennzeichen.
|
||||||
\part Benutze eine \verb+for+ Schleife um durch alle Zeichen zu
|
\part Benutze eine \verb+for+ Schleife um durch alle Zeichen zu
|
||||||
laufen. Vergleiche jedes Zeichen mit dem Unterstrich und merke
|
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
|
\part Benutze eine zweite Schleife um durch diesen
|
||||||
Positionsvektor zu laufen und benutze die darin enthaltene
|
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.
|
\part Gib die einzelnen Teile auf dem Bildschirm aus.
|
||||||
\end{parts}
|
\end{parts}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user