Improved indices
This commit is contained in:
@@ -913,17 +913,18 @@ Abschnitte wiederholt ausf\"uhren will.
|
||||
\subsubsection{Die \code{for} -- Schleife}
|
||||
|
||||
Der am h\"aufigsten benutzte Vertreter der Schleifen ist die
|
||||
\codeterm{for-Schleife}. Sie besteht aus dem \codeterm{Schleifenkopf} und
|
||||
dem \codeterm{Schleifenk\"orper}. Der Kopf regelt, wie h\"aufig der Code
|
||||
im K\"orper ausgef\"uhrt wird. Der Schleifenkopf beginnt mit dem
|
||||
Schl\"usselwort \code{for} auf welches folgend die
|
||||
\codeterm{Laufvariable} definiert wird. In \matlab ``l\"auft''/iteriert
|
||||
eine for-Schleife immer(!) \"uber einen Vektor. Die
|
||||
\codeterm{Laufvariable} nimmt mit jeder Iteration einen Wert dieses
|
||||
Vektors an. Im Schleifenk\"orper k\"onnen beliebige Anweisungen
|
||||
ausgef\"uhrt werden. Die Schleife wird durch das Schl\"usselwort
|
||||
\code{end} beendet. Listing \ref{looplisting} zeigt das
|
||||
Grundger\"ust einer for-Schleife.
|
||||
\codeterm{for-Schleife}. Sie besteht aus dem
|
||||
\codeterm[Schleife!Schleifenkopf]{Schleifenkopf} und dem
|
||||
\codeterm[Schleife!Schleifenk{\"o}rper]{Schleifenk\"orper}. Der Kopf
|
||||
regelt, wie h\"aufig der Code im K\"orper ausgef\"uhrt wird. Der
|
||||
Schleifenkopf beginnt mit dem Schl\"usselwort \code{for} auf welches
|
||||
folgend die \codeterm{Laufvariable} definiert wird. In \matlab
|
||||
``l\"auft''/iteriert eine for-Schleife immer(!) \"uber einen
|
||||
Vektor. Die \codeterm{Laufvariable} nimmt mit jeder Iteration einen
|
||||
Wert dieses Vektors an. Im Schleifenk\"orper k\"onnen beliebige
|
||||
Anweisungen ausgef\"uhrt werden. Die Schleife wird durch das
|
||||
Schl\"usselwort \code{end} beendet. Listing \ref{looplisting} zeigt
|
||||
das Grundger\"ust einer for-Schleife.
|
||||
|
||||
\begin{lstlisting}[caption={Beispiel einer \varcode{for} Schleife. Die Laufvariable \varcode{x} nimmt mit jeder Iteration der Schleife einen Wert des Vektors \varcode{1:5} an.}, label=looplisting]
|
||||
for x = 1:5
|
||||
@@ -1143,12 +1144,12 @@ wird, dann wird es Zeile f\"ur Zeile von oben nach unten ausgef\"uhrt.
|
||||
|
||||
\matlab{} kennt drei Arten von Programmen:
|
||||
\begin{enumerate}
|
||||
\item Skripte
|
||||
\item Funktionen
|
||||
\item Objekte (werden wir ignorieren)
|
||||
\item \codeterm[Skript]{Skripte}
|
||||
\item \codeterm[Funktion]{Funktionen}
|
||||
\item \codeterm[Objekt]{Objekte} (werden wir hier nicht behandeln)
|
||||
\end{enumerate}
|
||||
Alle Programme werden in den sogenannten \codeterm{m-files} gespeichert
|
||||
(z.B. \emph{meinProgramm.m}). Um sie zu benutzen werden sie von der
|
||||
(z.B. \file{meinProgramm.m}). Um sie zu benutzen werden sie von der
|
||||
Kommandozeile aufgerufen oder in anderen Programmen
|
||||
verwendet. Programme erh\"ohen die Wiederverwertbarkeit von
|
||||
Programmcode. Bislang haben wir ausschlie{\ss}lich Skripte
|
||||
@@ -1161,7 +1162,7 @@ definierte Variable und weist ihr einen neuen Wert zu, dann kann das
|
||||
erw\"unscht und praktisch sein. Wenn es aber unbeabsichtigt passiert
|
||||
kann es zu Fehlern kommen, die nur sehr schwer erkennbar sind, da ja
|
||||
jedes Skript f\"ur sich enwandtfrei arbeitet. Eine L\"osung f\"ur
|
||||
dieses Problem bieten die \codeterm{Funktionen}.
|
||||
dieses Problem bieten die \codeterm[Funktion]{Funktionen}.
|
||||
|
||||
\subsection{Funktionen}
|
||||
|
||||
@@ -1254,18 +1255,20 @@ hei{\ss}en soll, (ii) welche Information sie ben\"otigt und (iii)
|
||||
welche Daten sie zur\"uckliefern soll.
|
||||
|
||||
\begin{enumerate}
|
||||
\item \codeterm{Name}: der Name sollte beschreiben, was die Funktion
|
||||
tut. In diesem Fall berechnet sie einen Sinus. Ein geeigneter Name
|
||||
w\"are also \code{calculate\_sinewave()}.
|
||||
\item \codeterm{Argumente}: die zu brechnende Sinusschwingung sei durch
|
||||
ihre Frequenz und die Amplitude bestimmt. Des Weiteren soll noch
|
||||
festgelegt werden, wie lang der Sinus sein soll und mit welcher
|
||||
zeitlichen Aufl\"osung gerechnet werden soll. Es werden also vier
|
||||
Argumente ben\"otigt, sie k\"onnten hei{\ss}en: \varcode{varamplitude},
|
||||
\varcode{frequency}, \varcode{t\_max}, \varcode{t\_step}.
|
||||
\item \codeterm{R\"uckgabewerte}: Um den Sinus korrekt darstellen zu k\"onnen brauchen wir die
|
||||
Zeitachse und die entsprechenden Werte. Es werden also zwei
|
||||
Variablen zur\"uckgegeben: \varcode{time}, \varcode{sine}
|
||||
\item \codeterm[Funktion!Name]{Name}: der Name sollte beschreiben, was
|
||||
die Funktion tut. In diesem Fall berechnet sie einen Sinus. Ein
|
||||
geeigneter Name w\"are also \code{calculate\_sinewave()}.
|
||||
\item \codeterm[Funktion!Argumente]{Argumente}: die zu brechnende
|
||||
Sinusschwingung sei durch ihre Frequenz und die Amplitude
|
||||
bestimmt. Des Weiteren soll noch festgelegt werden, wie lang der
|
||||
Sinus sein soll und mit welcher zeitlichen Aufl\"osung gerechnet
|
||||
werden soll. Es werden also vier Argumente ben\"otigt, sie k\"onnten
|
||||
hei{\ss}en: \varcode{varamplitude}, \varcode{frequency},
|
||||
\varcode{t\_max}, \varcode{t\_step}.
|
||||
\item \codeterm[Funktion!R{\"u}ckgabewerte]{R\"uckgabewerte}: Um den
|
||||
Sinus korrekt darstellen zu k\"onnen brauchen wir die Zeitachse und
|
||||
die entsprechenden Werte. Es werden also zwei Variablen
|
||||
zur\"uckgegeben: \varcode{time}, \varcode{sine}
|
||||
\end{enumerate}
|
||||
Mit dieser Information ist es nun gut m\"oglich die Funktion zu
|
||||
implementieren (Listing \ref{sinefunctionlisting}).
|
||||
@@ -1309,7 +1312,7 @@ function plot_sinewave(x_data, y_data, name)
|
||||
\paragraph{III. Erstellen eines Skriptes zur Koordinierung}
|
||||
Die letzte Aufgabe ist die Koordinierung der Berechung und des
|
||||
Plottens f\"ur mehrere Amplituden. Das ist die klassische Aufgabe
|
||||
f\"ur ein Skript. Auch hier gilt es einen ausdrucksvollen Name zu
|
||||
f\"ur ein \codeterm{Skript}. Auch hier gilt es einen ausdrucksvollen Name zu
|
||||
finden. Da es keine Argumente und R\"uckgabewerte gibt, m\"ussen die
|
||||
ben\"otigten Informationen direkt in dem Skript defniniert werden. Es
|
||||
werden ben\"otigt: ein Vektor f\"ur die Amplituden, je eine Variable
|
||||
|
||||
Reference in New Issue
Block a user