further typo fixes

This commit is contained in:
Jan Grewe 2015-11-15 11:44:45 +01:00
parent af1faf941c
commit 87496d5f3d
2 changed files with 37 additions and 34 deletions

View File

@ -2,9 +2,9 @@ function sines = calculate_sines(x, amplitudes, frequencies)
% Function calculates sinewaves with all combinations of % Function calculates sinewaves with all combinations of
% given amplitudes and frequencies. % given amplitudes and frequencies.
% Arguments: x, a vector of radiants for which the sine should be % Arguments: x, a vector of radiants for which the sine should be
% computed % computed.
% amplitudes, a vector of amplitudes % amplitudes, a vector of amplitudes.
% frequencies, a vector of frequencies % frequencies, a vector of frequencies.
% %
% Returns: a 3-D Matrix of sinewaves, 2nd dimension represents % Returns: a 3-D Matrix of sinewaves, 2nd dimension represents
% the amplitudes, 3rd the frequencies. % the amplitudes, 3rd the frequencies.

View File

@ -37,23 +37,24 @@ werden Programme benannt?
Es hilft ungemein, wenn zusammengeh\"orige Skripte und Funktionen im Es hilft ungemein, wenn zusammengeh\"orige Skripte und Funktionen im
gleichen Ordner auf der Festplatte zu finden sind. Es bietet sich also gleichen Ordner auf der Festplatte zu finden sind. Es bietet sich also
an, f\"ur jede Analyse einen eigenen Ordner anzulegen und in diesem die an, f\"ur jede Analyse einen eigenen Ordner anzulegen und in diesem
zugeh\"origen \codeterm{m-files} abzulegen. Auf eine tiefere die zugeh\"origen \codeterm{m-files} abzulegen. Auf eine tiefere
Schachtelung in weitere Unterordner kann in der Regel verzichtet Schachtelung in weitere Unterordner kann in der Regel verzichtet
werden. \matlab{} erzeugt einen ``MATLAB'' Ordner im eigenen werden. \matlab{} erzeugt einen ``MATLAB'' Ordner im eigenen
\file{Documents} (Linux) oder \file{Eigene Dokumente} (Windows) Ordner. Es \file{Documents} (Linux) oder \file{Eigene Dokumente} (Windows)
bietet sich an, diesen Ordner als Wurzelverzeichnis f\"ur eigene Arbeiten zu Ordner. Es bietet sich an, diesen Ordner als Wurzelverzeichnis f\"ur
verwenden. Nat\"urlich kann auch jeder andere Ort gew\"ahlen eigene Arbeiten zu verwenden. Nat\"urlich kann auch jeder andere Ort
werden. In dem Beispiel in \figref{fileorganizationfig} wird gew\"ahlt werden. In dem Beispiel in \figref{fileorganizationfig} wird
innerhalb dieses Ordners f\"ur jedes Projekt ein eigener Unterordner innerhalb dieses Ordners f\"ur jedes Projekt ein eigener Unterordner
erstellt, in welchem widerum f\"ur jedes Problem, jede Analyse ein erstellt, in welchem wiederum f\"ur jedes Problem, jede Analyse ein
weitere Unterodner erstellt wird. In diesen liegen sowohl die weiterer Unterodner erstellt wird. In diesen liegen sowohl die
ben\"otigten \codeterm{m-files} also auch die Resultate der Analyse (Abbildungen, ben\"otigten \codeterm{m-files} also auch die Resultate der Analyse
Daten-Dateien). Zu bemerken sind noch zwei weitere Dinge. Im Projektordner (Abbildungen, Daten-Dateien). Zu bemerken sind noch zwei weitere
existiert ein Skript (analysis.m), das dazu gedacht ist, alle Analysen Dinge. Im Projektordner existiert ein Skript (analysis.m), das dazu
aufzurufen. Des Weiteren gitb es parallel zu den Projektordnern einen gedacht ist, alle Analysen aufzurufen. Des Weiteren gibt es parallel
\file{functions}-Ordner in dem Funktionen liegen, die in mehr als einem zu den Projektordnern einen \file{functions}-Ordner in dem Funktionen
Projekt oder einer Analyse gebraucht werden. liegen, die in mehr als einem Projekt oder einer Analyse gebraucht
werden.
Beim Betrachten dieses Layouts f\"allt auf, dass es sehr Beim Betrachten dieses Layouts f\"allt auf, dass es sehr
wahrscheinlich ist, dass bestimmte Namen f\"ur Funktionen und Skripte wahrscheinlich ist, dass bestimmte Namen f\"ur Funktionen und Skripte
@ -65,7 +66,7 @@ aktuellen Ordner nach passenden Dateien sucht (mehr Information zum
\begin{figure}[tp] \begin{figure}[tp]
\includegraphics[width=0.75\textwidth]{program_organization} \includegraphics[width=0.75\textwidth]{program_organization}
\titlecaption{\label{fileorganizationfig} M\"ogliche Oganisation von \titlecaption{\label{fileorganizationfig} M\"ogliche Organisation von
Programmcode im Dateisystem.}{ F\"ur jedes Projekt werden Programmcode im Dateisystem.}{ F\"ur jedes Projekt werden
Unterordner f\"ur die einzelnen Analysen angelegt. Auf Ebene des Unterordner f\"ur die einzelnen Analysen angelegt. Auf Ebene des
Projektes k\"onnte es ein Skript (hier ``analysis.m'') geben, Projektes k\"onnte es ein Skript (hier ``analysis.m'') geben,
@ -106,8 +107,8 @@ aktuellen Ordner nach passenden Dateien sucht (mehr Information zum
\section{Namensgebung von Funktionen und Skripten} \section{Namensgebung von Funktionen und Skripten}
\matlab{} sucht Funktionen und Skripte ausschlie{\ss}lich anhand der \matlab{} sucht Funktionen und Skripte ausschlie{\ss}lich anhand des
Namen. Dabei spielt die Gro{\ss}- und Kleinschreibung eine Rolle. Das Namens. Dabei spielt die Gro{\ss}- und Kleinschreibung eine Rolle. Das
hei{\ss}t, dass die beiden Dateien \file{test\_funktion.m} und hei{\ss}t, dass die beiden Dateien \file{test\_funktion.m} und
\file{Test\_funktion.m} zwei unterschiedliche Funktionen benennen \file{Test\_funktion.m} zwei unterschiedliche Funktionen benennen
k\"onnen. Diese Art der Variation des Namens ist nat\"urlich nicht k\"onnen. Diese Art der Variation des Namens ist nat\"urlich nicht
@ -127,9 +128,10 @@ aus dem Namen ein R\"uckschluss auf den Zweck ziehen lassen sollte.
die beste Dokumentation. die beste Dokumentation.
\end{important} \end{important}
\matlab{} macht keine weiteren Vorgaben, was die Namen In Namen verbietet \matlab{} verbietet Leerzeichen, Sonderzeichen und
angeht. Allerdings folgt die Benennung der vordefinierten Funktionen Umlaute. Namen d\"urfen auch nicht mit Zahlen anfangen. Es mach f\"ur
gewissen Mustern: die Namensgebung selbst keine weiteren Vorgaben. Allerdings folgt die
Benennung der in \matlab{} vordefinierten Funktionen gewissen Mustern:
\begin{itemize} \begin{itemize}
\item Namen werden immer klein geschrieben. \item Namen werden immer klein geschrieben.
\item Es werden gerne Abk\"urzungen eingesetzt (z.B. \code{xcorr} \item Es werden gerne Abk\"urzungen eingesetzt (z.B. \code{xcorr}
@ -145,8 +147,7 @@ Anf\"ange zusammengesetzter Worte jeweils gro{\ss} geschrieben werden
oder auch die Verwendung von Unterstrichen zur Trennung von oder auch die Verwendung von Unterstrichen zur Trennung von
Namenskomponenten. Eine Funktion, die die Anzahl von Namenskomponenten. Eine Funktion, die die Anzahl von
Aktionspotentialen bestimmt k\"onnte etwa \file{spikeCount.m} oder Aktionspotentialen bestimmt k\"onnte etwa \file{spikeCount.m} oder
\file{spike\_count.m} benannt werden. Leerzeichen, Sonderzeichen \file{spike\_count.m} benannt werden.
oder Anf\"ange mit Zahlen sind in Namen nicht erlaubt.
\section{Namensgebung von Variablen und Konstanten} \section{Namensgebung von Variablen und Konstanten}
@ -183,9 +184,9 @@ Die Lesbarkeit von Programmen wird sehr durch den Codestil
beeinflusst. Ein Programm, in dem z.B. Schleifenk\"orper nicht (oder beeinflusst. Ein Programm, in dem z.B. Schleifenk\"orper nicht (oder
zuf\"allig) einger\"uckt sind ist deutlich schwerer zu lesen und zu zuf\"allig) einger\"uckt sind ist deutlich schwerer zu lesen und zu
verstehen, als eines, in dem eine konsistente Einr\"uckung vorgenommen verstehen, als eines, in dem eine konsistente Einr\"uckung vorgenommen
wurde. Mit der Tastenkombination \keycode{Ctrl-I} % XXX Oder wie war das? XXX wurde. Mit der Tastenkombination \keycode{Ctrl-I} (\keycode{Strg-I}
kann ein markierter auf der deutschen Tastatur) kann ein markierter Bereich im \matlab{}
Bereich im \matlab{} Editor automatisch richtig einger\"uckt werden. Editor automatisch richtig einger\"uckt werden.
Sparsam und konsistent eingef\"ugte einzelne Leerzeilen sind Sparsam und konsistent eingef\"ugte einzelne Leerzeilen sind
hervorragend geeignet, um logische Abschnitte eines Programm zu hervorragend geeignet, um logische Abschnitte eines Programm zu
@ -220,6 +221,8 @@ end
end end
\end{lstlisting} \end{lstlisting}
\clearpage
\begin{lstlisting}[label=cleancode, caption={\"Ubersichtliche Implementation des Random-walk.}] \begin{lstlisting}[label=cleancode, caption={\"Ubersichtliche Implementation des Random-walk.}]
num_runs = 10; num_runs = 10;
max_steps = 1000; max_steps = 1000;
@ -246,10 +249,10 @@ sind kurze Kommentare, die den Zweck und das Ziel eines Abschnitts im
Programm erl\"autern (z.B. \code{\% compute mean firing rate over all Programm erl\"autern (z.B. \code{\% compute mean firing rate over all
trials}). trials}).
Zu viele Kommentare k\"onnen in der Entwicklungsphase eines Programms Viele und h\"aufige Kommentare k\"onnen in der Entwicklungsphase eines
sehr hilfreich sein, bl\"ahen aber den Code auf. Durch die Verwendung Programms sehr hilfreich sein, bl\"ahen aber den Code auf. Durch die
guter Variablen- und Funktionsnamen sollten die meisten Zeilen sowieso Verwendung guter Variablen- und Funktionsnamen sollten die meisten
weitestgehend selbsterkl\"arend sein. Zeilen sowieso weitestgehend selbsterkl\"arend sein.
Die beste Dokumentation ist der Code selbst. Gut geschriebener Code Die beste Dokumentation ist der Code selbst. Gut geschriebener Code
mit ausdrucksstarken Variablen- und Funktionsnamen ben\"otigt keine mit ausdrucksstarken Variablen- und Funktionsnamen ben\"otigt keine
@ -317,7 +320,7 @@ Das Auslagern von Funktionalit\"at in eigene Funktionen f\"uhrt
dazu, dass eine F\"ulle von Dateien erzeugt wird, die die dazu, dass eine F\"ulle von Dateien erzeugt wird, die die
\"Ubersichtlichkeit nicht unbedingt erh\"oht. Wenn die auszulagernde \"Ubersichtlichkeit nicht unbedingt erh\"oht. Wenn die auszulagernde
Funktionalit\"at an vielen Stellen ben\"otigt wird ist es Funktionalit\"at an vielen Stellen ben\"otigt wird ist es
dennoch sinnvol dies zu tun. Wenn nicht, dann bietet \matlab{} die dennoch sinnvoll dies zu tun. Wenn nicht, dann bietet \matlab{} die
M\"oglichkeit sogenannte \codeterm{lokale Funktionen} oder auch M\"oglichkeit sogenannte \codeterm{lokale Funktionen} oder auch
\codeterm{geschachtelte Funktionen} (\enterm{nested functions}) zu \codeterm{geschachtelte Funktionen} (\enterm{nested functions}) zu
erstellen. Listing \ref{localfunctions} zeigt ein Beispiel f\"ur eine erstellen. Listing \ref{localfunctions} zeigt ein Beispiel f\"ur eine
@ -367,7 +370,7 @@ machen Programmiersprachen gibt es Traditionen und \"Ubereink\"unfte,
diese sollten dann beachtet werden. diese sollten dann beachtet werden.
Wiederholte Programmabschnitte sollten in Funktionen ausgelagert Wiederholte Programmabschnitte sollten in Funktionen ausgelagert
werden. Wenn diese nich von globalem Interesse sind, kann mit werden. Wenn diese nicht von globalem Interesse sind, kann mit
\codeterm{lokalen} oder \codeterm{geschachtelten Funktionen} die \codeterm{lokalen} oder \codeterm{geschachtelten Funktionen} die
\"Ubersichtlichkeit erh\"oht werden. \"Ubersichtlichkeit erh\"oht werden.