diff --git a/programming/exercises/scripts_functions.tex b/programming/exercises/scripts_functions.tex index a5d5815..1baf4c5 100644 --- a/programming/exercises/scripts_functions.tex +++ b/programming/exercises/scripts_functions.tex @@ -49,37 +49,43 @@ also als zip-Archiv auf ILIAS hochladen. Das Archiv sollte nach dem Muster: \begin{parts} \part Version 1: berechnet die Fakult\"at von 5 und gib das Resultat auf dem Bildschirm aus. - \part Version 2: \"ubernimmt als Argument die Zahl, von der die - Fakult\"at berechnet werden soll. - \part Wie 2 aber mit R\"uckgabe des berechneten Wertes. + \part Version 2: Wie 1 aber die Funktion \"ubernimmt als Argument + die Zahl, von der die Fakult\"at berechnet werden soll. + \part Version 3: Wie 2 aber mit R\"uckgabe des berechneten Wertes. \end{parts} \question Implementiere eine Funktion, die einen Sinus mit der - Amplitude 1 und der Frequenz 50\,Hz plottet: + Amplitude 1 und der Frequenz $f = $ 50\,Hz plottet ($sin(2\pi \cdot + f \cdot t)$): \begin{parts} - \part Erweitere die Funktion sodass das Maximum der x-Werte, die - Schrittweite, Amplitude, Frequenz und Phase als Argumente + \part Erweitere die Funktion sodass die L\"ange der Zeitachse, die + Schrittweite, Amplitude, Frequenz als Argumente \"ubergeben werden k\"onnen. - \part Gib sowohl den Sinus als auch die x-Werte zur\"uck. + \part Gib sowohl den Sinus als auch die Zeitachse zur\"uck. \end{parts} - \question Schreibe eine Funktion, die bin\"are Datens\"atze (Montag) - liest und die Daten als Vektor zur\"uckgibt. Welche Argumente muss - die Funktion \"ubernehmen? + \question Schreibe eine Funktion, die bin\"are Datens\"atze + ('signal.bin' und 'signal2.bin' vom Montag) liest und die Daten als + Vektor zur\"uckgibt. Welche Argumente muss die Funktion + \"ubernehmen? \question Entwickle ein Programm, das einen 1-D random walk simuliert. Das Programm soll folgendes leisten: + \begin{itemize} + \item Jede Simulation soll solange laufen, bis eine Abweichung vom + Startwert von $\pm$ 50 erreicht ist. + \item Es soll m\"oglich sein, die Wahrscheinlichkeit f\"ur eine der + beiden Richtungen zu variieren. Variiere im Bereich von 0.5 bis 0.9. + \end{itemize} \begin{parts} - \part Jede Simulation soll solange laufen, bis eine Abweichung - vom Startwert von $\pm$ 50 erreicht ist. - \part Es soll m\"oglich sein, die Wahrscheinlichkeit f\"ur eine - der beiden Richtungen zu variieren. Variiere im Bereich 0.5 bis - 0.9. + \part \"Uberlege Dir ein geeignetes ``Programmlayout'' aus + Funktionen und Skripten. + \part Implementiere die L\"osung. \part Simuliere 30 Realisationen des random walk pro Wahrscheinlichkeit. \part Es sollen die Positionen als Funktion der Schrittanzahl - geplottet werden. Erstelle einen Plot pro - Wahrscheinlichkeitsstufe. + geplottet werden. Erstelle einen Plot mit den je 30 + Wiederholungen pro Wahrscheinlichkeitsstufe. \part Wie entwickelt sich die mittlere ben\"otigte Schrittanzahl in Abh\"angigkeit der Wahrscheinlichkeit? Stelle die Mittelwerte und die Standardabweichungen graphisch dar. @@ -91,33 +97,35 @@ also als zip-Archiv auf ILIAS hochladen. Das Archiv sollte nach dem Muster: \begin{equation} \frac{dN}{dt} = N \cdot r, \end{equation} - mit N der Populationsgr\"o{\ss}e und r der Wachstumsrate. + mit $N$ der Populationsgr\"o{\ss}e und $r$ der Wachstumsrate. \begin{parts} \part L\"ose die Gleichung numerisch mit dem Euler Verfahren. - \part Implementiere eine Funktion die die Populationsgr\"o{\ss}e + \part Implementiere eine Funktion, die die Populationsgr\"o{\ss}e und die Zeit zur\"uckgibt. \part Plotte die Populationsgr\"o{\ss}e als Funktion der Zeit. \end{parts} \question Etwas realistischer ist das logistische Wachstum einer - isolierten Population bei der das Wachstum durch die Kapazit\"at + isolierten Population, bei der das Wachstum durch eine Kapazit\"at gedeckelt ist. Sie wird mit folgender Differentialgleichung beschrieben: \begin{equation} \frac{dN}{dt} = N \cdot r \cdot \left( 1 - \frac{N}{K} \right) \end{equation} - mit N der Population, der Wachstumsrate r und K der ``tragenden'' + mit $N$ der Population, der Wachstumsrate $r$ und $K$ der ``tragenden'' Kapazit\"at. \begin{parts} \part Implementiere die L\"osung des logistischen Wachstums in - einer Funktion. Benutze das Euler Verfahren. + einer Funktion. Benutze das Euler Verfahren. Die Funktion soll die + Parameter $r$, $K$ sowie den Startwert von $N$ als Argumente + \"ubernehmen. \part Die Funktion soll die Populationsgr\"o{\ss}e und die Zeit zur\"uckgeben. \part Simuliere das Wachstum mit einer Anzahl unterschiedlicher - Startwerte f\"ur N. + Startwerte f\"ur $N$. \part Stelle die Ergebnisse in einem Plot graphisch dar. - \part Plotte die Wachstumsrate als Funktion der - Populationsgr\"o{\ss}e. + \part Plotte das Wachstum $dN/dt$ als Funktion der + Populationsgr\"o{\ss}e $N$. \end{parts} \end{questions}