[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).
|
||||
|
||||
\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}
|
||||
|
||||
|
Reference in New Issue
Block a user