loops done
This commit is contained in:
parent
566d82cd6b
commit
f8e09400a2
6
programming/code/facultyLoop.m
Normal file
6
programming/code/facultyLoop.m
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
n = 5;
|
||||||
|
x = 1;
|
||||||
|
for i = 1:n
|
||||||
|
x = x * i;
|
||||||
|
end
|
||||||
|
fprintf('Faculty of %i is: %i\n', n, x)
|
2
programming/code/facultyLoop.out
Normal file
2
programming/code/facultyLoop.out
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
>> facultyLoop
|
||||||
|
Faculty of 5 is: 120
|
7
programming/code/facultyWhileLoop.m
Normal file
7
programming/code/facultyWhileLoop.m
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
n = 5;
|
||||||
|
counter = 1;
|
||||||
|
x = 1;
|
||||||
|
while counter <= n
|
||||||
|
x = x * counter;
|
||||||
|
end
|
||||||
|
fprintf('Faculty of %i is: %i\n', n, x)
|
6
programming/code/neverendingWhile.m
Normal file
6
programming/code/neverendingWhile.m
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
i = 1;
|
||||||
|
while true % this is always true
|
||||||
|
disp(x);
|
||||||
|
x = x * i;
|
||||||
|
i = i + 1;
|
||||||
|
end
|
@ -784,7 +784,7 @@ nun die Werte an den Stellen zur\"uck, an denen der logische Vektor
|
|||||||
In der Regel wird ein Programm Zeile f\"ur Zeile von oben nach unten
|
In der Regel wird ein Programm Zeile f\"ur Zeile von oben nach unten
|
||||||
ausgef\"uhrt. Manchmal muss der Kontrollfluss aber so gesteuert
|
ausgef\"uhrt. Manchmal muss der Kontrollfluss aber so gesteuert
|
||||||
werden, dass bestimmte Teile des Programmcodes wiederholt oder nur
|
werden, dass bestimmte Teile des Programmcodes wiederholt oder nur
|
||||||
unter bestimmten Bedingungen ausgef\"uhrt werden. Von gro[\ss]er
|
unter bestimmten Bedingungen ausgef\"uhrt werden. Von gro{\ss}er
|
||||||
Bedeutung sind hier zwei Strukturen:
|
Bedeutung sind hier zwei Strukturen:
|
||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
@ -799,7 +799,7 @@ zu vereinfachen. In einer \"Ubung wurde die Fakult\"at von 5 wie in
|
|||||||
Listing \ref{facultylisting1} berechnet:
|
Listing \ref{facultylisting1} berechnet:
|
||||||
|
|
||||||
\begin{lstlisting}[caption={Berechnung der Fakult\"at von 5 in f\"unf
|
\begin{lstlisting}[caption={Berechnung der Fakult\"at von 5 in f\"unf
|
||||||
Schritten}, label=facultylisting1]
|
Schritten}, label=facultylisting]
|
||||||
>> x = 1;
|
>> x = 1;
|
||||||
>> x = x * 2;
|
>> x = x * 2;
|
||||||
>> x = x * 3;
|
>> x = x * 3;
|
||||||
@ -811,71 +811,115 @@ x =
|
|||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
Im Prinzip ist das obige Programm v\"ollig in Ordnung. Es f\"allt
|
Im Prinzip ist das obige Programm v\"ollig in Ordnung. Es f\"allt
|
||||||
jedoch auf, dass die Zeilen 2 bis 5 sehr \"ahnlich sind und
|
jedoch auf, dass die Zeilen 2 bis 5 sehr \"ahnlich sind; bis auf die
|
||||||
|
Multiplikation mit einer ansteigenden Zahl \"andert sich nichts. Die
|
||||||
|
Verwendung von mehr oder weniger exakten Klonen einzelner Zeilen oder
|
||||||
|
Abschnitte ist schlechter Prgrammierstil. Dabei geht es nicht nur um
|
||||||
|
einen \"asthetischen Aspekt sondern vielmehr darum, dass es schwerwiegende Nachteile gibt.
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Fehleranf\"alligkeit: Beim ``Copy-and-paste'' kann leicht
|
||||||
|
vergessen werden in einzelnen Klonen die entscheidende \"Anderung
|
||||||
|
auch wirklich vorzunehmen.
|
||||||
|
\item Flexibilit\"at: Das obige Programm ist f\"ur genau einen Zweck,
|
||||||
|
Berechnung der Fakult\"at von f\"unf, gemacht und kann nichts
|
||||||
|
anderes.
|
||||||
|
\item Wartung: Wenn ich einen Fehler gemacht habe, dann muss ich den
|
||||||
|
Fehler in allen Klonen korrigieren (sehr wird dabei der ein oder
|
||||||
|
andere Klon \"ubersehen).
|
||||||
|
\item Verst\"andlichkeit: Solche Abschnitte sind schwerer zu lesen/zu
|
||||||
|
verstehen. Das liegt zum Teil daran, dass man dazu neigt \"uber sich
|
||||||
|
wiederholende Zeilen zu springen (ist ja eh das gleiche...) und dann
|
||||||
|
den entscheidenden Teil verpasst.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
\begin{itemize}
|
Alle Programmiersprachen bieten zur L\"osung dieses Problems die
|
||||||
\item Zeilen 2 bis 5 sind sehr \"ahnlich.
|
Schleifen. Eine Schleife wird immer dann eingesetzt, wenn man
|
||||||
\item Die Verwendung von solchen Codeklonen ist schlechter Programmierstil!
|
Abschnitte wiederholt ausf\"uhren will.
|
||||||
\item Welche Nachteile hat es sonst noch?
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
|
\subsubsection{\textbf{for}- Schleife}
|
||||||
|
|
||||||
|
Der am h\"aufigsten benutzte Vertreter der Schleifen ist die
|
||||||
|
\textit{for-Schleife}. Sie besteht aus dem \textit{Schleifenkopf} und
|
||||||
|
dem \textit{Schleifenk\"orper}. Der Kopf regelt, wie h\"aufig der Code
|
||||||
|
im K\"orper ausgef\"uhrt wird.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{definition}
|
||||||
\item Wird genutzt um iterativ/wiederholt einen Codeabschnitt auszuf\"uhren.\pause
|
Der Schleifenkopf beginnt mit dem Schl\"usselwort \textbf{for} auf
|
||||||
\item Eine \code{for} Schleife besteht aus dem \textit{(Schleifen-) Kopf} und dem \textit{(Schleifen-) K\"orper}.
|
welches folgend die \textit{Laufvariable} definiert wird. In \matlab
|
||||||
\begin{itemize}
|
``l\"auft''/iteriert eine for-Schleife immer(!) \"uber einen
|
||||||
\item Der Schleifenkopf beginnt mit dem Schl\"usselwort
|
Vektor. Die \textit{Laufvariable} nimmt mit jeder Iteration einen
|
||||||
\textbf{for} auf welches folgend die \textit{Laufvariable}
|
Wert dieses Vektors an. Im Schleifenk\"orper k\"onnen beliebige
|
||||||
definiert wird.
|
Anweisungen ausgef\"uhrt werden. Die Schleife wird durch das
|
||||||
\item Die Schleife ``l\"auft''/iteriert immer(!) \"uber einen
|
Schl\"usselwort \textbf{end} beendet. Listing \ref{looplisting}
|
||||||
Vektor.
|
\end{definition}
|
||||||
\item Die \textit{Laufvariable} nimmt in jeder Iteration einen
|
|
||||||
Wert dieses Vektors an.
|
|
||||||
\item Im Schleifenk\"orper k\"onnen beliebige Anweisungen
|
|
||||||
ausgef\"uhrt werden.
|
|
||||||
\item Die Schleife wird durch das Schl\"usselwort \textbf{end}
|
|
||||||
beendet.
|
|
||||||
\end{itemize}
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\begin{lstlisting}[label=loopListing2]
|
\begin{lstlisting}[caption={Beispiel einer \textbf{for} Schleife. Die Laufvariable \code{x} nimmt mit jeder Iteration der Schleife einen Wert des Vektors \code{1:5} an.}, label=looplisting]
|
||||||
for x = 1:5
|
for x = 1:5
|
||||||
% ... etwas sinnvolles mit x ...
|
% ... etwas sinnvolles mit x ...
|
||||||
end
|
end
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{exercise}{facultyLoop.m}{facultyLoop.out}
|
||||||
|
Wie k\"onnte Fakult\"at mit einer Schleife implementiert werden?
|
||||||
|
Implementiere eine for Schleife, die die Fakul\"at von einer Zahl
|
||||||
|
\code{n} berechnet.
|
||||||
|
\end{exercise}
|
||||||
|
|
||||||
Zur\"uck zu unserer Implementation der Fakult\"at:
|
|
||||||
\begin{lstlisting}
|
|
||||||
>> x = 1;
|
|
||||||
>> x = x * 2;
|
|
||||||
>> x = x * 3;
|
|
||||||
>> x = x * 4;
|
|
||||||
>> x = x * 5;
|
|
||||||
>> x
|
|
||||||
x =
|
|
||||||
120
|
|
||||||
\end{lstlisting}
|
|
||||||
\normalsize
|
|
||||||
Wie k\"onnte das in einer Schleife gel\"ost werden?
|
|
||||||
|
|
||||||
|
\subsubsection{Die \textbf{while}-Schleife}
|
||||||
|
|
||||||
Implementatierung der Fakult\"at mithilfe einer \code{for} Schleife:
|
Eine weiterer Schleifentyp, der weniger h\"aufig eingesetzt wird, ist
|
||||||
\begin{lstlisting}
|
die \textot{while}-Schleife. Auch sie hat ihre Entsprechungen in fast
|
||||||
x = 1;
|
allen Programmiersprachen. \"Ahnlich zur \code{for} Schleife wird
|
||||||
for i = 1:5
|
auch hier der in der Schleife definierte Programmcode iterative
|
||||||
x = x * i;
|
ausgef\"uhrt.
|
||||||
end
|
|
||||||
% oder auch
|
\begin{definition}
|
||||||
iterations = 1:5;
|
Der Schleifenkopf beginnt mit dem Schl\"usselwort \textbf{while}
|
||||||
for i = iterations
|
gefolgt von einem \underline{Booleschen Ausdruck}. Solange dieser zu
|
||||||
x = x * i;
|
\textit{true} ausgewertet werden kann, wird der Code im
|
||||||
|
Schleifenk\"orper ausgef\"uhrt. Die Schleife wird mit dem
|
||||||
|
Schl\"usselwort \textbf{end} beendet.
|
||||||
|
\end{definition}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{lstlisting}[caption={Grundstruktur einer \textbf{while} Schleife.}, label=whileloop]
|
||||||
|
while x == true
|
||||||
|
% fuehre diesen sinnvollen code aus ...
|
||||||
end
|
end
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{exercise}{facultyWhileLoop.m}{}
|
||||||
|
Implementiere die Fakult\"at mit einer \textbf{while}-Schleife.
|
||||||
|
\end{exercise}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{exercise}{neverendingWhile.m}{}
|
||||||
|
Implementiere eine \textbf{while}-Schleife, die unendlich
|
||||||
|
l\"auft. Tipp: der Boolesche Ausdruck hinter dem \textbf{while} muss
|
||||||
|
immer zu wahr ausgewertet werden.
|
||||||
|
\end{exercise}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Vergleich \textbf{for} und \textbf{while} Schleife}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Beide f\"uhren den Code im Schleifenk\"orper iterativ aus.
|
||||||
|
\item Der K\"orper einer \code{for} Schleife wird mindestens 1 mal
|
||||||
|
betreten.
|
||||||
|
\item Der K\"orper einer \code{while} Schleife wird nur dann betreten,
|
||||||
|
wenn die Bedinung im Kopf \textbf{true} ist. \\$\rightarrow$ auch
|
||||||
|
``Oben-abweisende'' Schleife genannt.
|
||||||
|
\item Die \code{for} Schleife eignet sich f\"ur F\"alle in denen f\"ur
|
||||||
|
jedes Element eines Vektors der Code ausgef\"uhrt werden soll.
|
||||||
|
\item Die \code{while} Schleife ist immer dann gut, wenn nicht klar
|
||||||
|
ist wie h\"aufig etwas ausgef\"uhrt werden soll. Sie ist
|
||||||
|
speichereffizienter.
|
||||||
|
\item Jedes Problem kann mit beiden Typen gel\"ost werden.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
\subsection{Bedingte Anweisungen und Verzweigungen}
|
\subsection{Bedingte Anweisungen und Verzweigungen}
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ modellieren.
|
|||||||
Die Analyse von Spiketrains beinhaltet demnach einige der Methoden,
|
Die Analyse von Spiketrains beinhaltet demnach einige der Methoden,
|
||||||
die auch f\"r die Beschreibung von Punktprozessen angewandt
|
die auch f\"r die Beschreibung von Punktprozessen angewandt
|
||||||
werden. Dar\"uber hinaus wird versucht die Beziehung zwischen der
|
werden. Dar\"uber hinaus wird versucht die Beziehung zwischen der
|
||||||
zeitabh\"aengigen neuronalen Antwort und dem zugrundeliegenden
|
zeitabh\"angigen neuronalen Antwort und dem zugrundeliegenden
|
||||||
Stimulus zu analysieren.
|
Stimulus zu analysieren.
|
||||||
|
|
||||||
\section{Darstellung der zeitabh\"angigen Feuerrate}
|
\section{Darstellung der zeitabh\"angigen Feuerrate}
|
||||||
@ -34,12 +34,13 @@ Nachteile. Im folgenden werden die drei Methoden aus Abbildung
|
|||||||
|
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\includegraphics[width=\columnwidth]{psth_comparison}
|
\includegraphics[width=\columnwidth]{psth_comparison}
|
||||||
\caption{\textbf{Verschiedene Methoden das PSTH zu bestimmen. A)}
|
\caption{\textbf{Verschiedene Methoden die zeitabh\"angige Feuerrate
|
||||||
Rasterplot einer einzelnen neuronalen Antwort. Jeder vertikale
|
zu bestimmen. A)} Rasterplot einer einzelnen neuronalen
|
||||||
Strich notiert den Zeitpunkt eines Aktionspotentials. \textbf{B)}
|
Antwort. Jeder vertikale Strich notiert den Zeitpunkt eines
|
||||||
PSTH aus der instantanen Feuerrate bestimmt. \textbf{C)} PSTH mit
|
Aktionspotentials. \textbf{B)} Feurerrate aus der instantanen
|
||||||
der Binning Methode. \textbf{D)} Feuerrate durch Faltung mit einem
|
Feuerrate bestimmt. \textbf{C)} klassisches PSTH mit der Binning
|
||||||
Gauss Kern bestimmt.}\label{psthfig}
|
Methode. \textbf{D)} Feuerrate durch Faltung mit einem Gauss Kern
|
||||||
|
bestimmt.}\label{psthfig}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
@ -47,10 +48,10 @@ Nachteile. Im folgenden werden die drei Methoden aus Abbildung
|
|||||||
Ein sehr einfacher Weg, die zeitabh\"angige Feuerrate zu bestimmen ist
|
Ein sehr einfacher Weg, die zeitabh\"angige Feuerrate zu bestimmen ist
|
||||||
die sogenannte \textit{instantane Feuerrate}. Dabei wird die Feuerrate
|
die sogenannte \textit{instantane Feuerrate}. Dabei wird die Feuerrate
|
||||||
aus dem Kehrwert des \textit{Interspike Intervalls}, der Zeit zwischen
|
aus dem Kehrwert des \textit{Interspike Intervalls}, der Zeit zwischen
|
||||||
zwei aufeinander folgenden Aktionspotentialen (Abbildung \ref{isipsth}
|
zwei aufeinander folgenden Aktionspotentialen (Abbildung \ref{instrate}
|
||||||
A), bestimmt. Die abgesch\"atzte Feuerrate (Abbildung \ref{isipsth} B)
|
A), bestimmt. Die abgesch\"atzte Feuerrate (Abbildung \ref{instrate} B)
|
||||||
ist g\"ultig f\"ur das gesammte Interspike Intervall
|
ist g\"ultig f\"ur das gesammte Interspike Intervall
|
||||||
\ref{isipsth}. Diese Methode hat den Vorteil, dass sie sehr einfach zu
|
\ref{instrate}. Diese Methode hat den Vorteil, dass sie sehr einfach zu
|
||||||
berechnen ist und keine Annahme \"uber eine relevante Zeitskala (der
|
berechnen ist und keine Annahme \"uber eine relevante Zeitskala (der
|
||||||
Kodierung oder des Auslesemechanismus der postsynaptischen Zelle)
|
Kodierung oder des Auslesemechanismus der postsynaptischen Zelle)
|
||||||
macht. $r(t)$ ist allerdings keine kontinuierliche Funktion, die
|
macht. $r(t)$ ist allerdings keine kontinuierliche Funktion, die
|
||||||
@ -60,13 +61,13 @@ Aktionspotentiale generiert wurden.
|
|||||||
|
|
||||||
\begin{figure}[!htb]
|
\begin{figure}[!htb]
|
||||||
\includegraphics[width=\columnwidth]{isi_method}
|
\includegraphics[width=\columnwidth]{isi_method}
|
||||||
\caption{\textbf{Bestimmung des PSTH aus dem Interspike
|
\caption{\textbf{Bestimmung des zeitabh\"angigen Feuerrate aus dem
|
||||||
Interval. A)} Skizze eines Rasterplots einer einzelnen
|
Interspike Interval. A)} Skizze eines Rasterplots einer
|
||||||
neuronalen Antwort. Jeder vertikale Strich notiert den Zeitpunkt
|
einzelnen neuronalen Antwort. Jeder vertikale Strich notiert den
|
||||||
eines Aktionspotentials. Die Pfeile zwischen aufeinanderfolgenden
|
Zeitpunkt eines Aktionspotentials. Die Pfeile zwischen
|
||||||
Aktionspotentialen illustrieren das Interspike
|
aufeinanderfolgenden Aktionspotentialen illustrieren das
|
||||||
Interval. \textbf{B)} Der Kehrwert des Interspike Intervalls ist
|
Interspike Interval. \textbf{B)} Der Kehrwert des Interspike
|
||||||
die Feuerrate.}\label{isipsth}
|
Intervalls ist die Feuerrate.}\label{instrate}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
@ -99,9 +100,10 @@ koninuierliche Funktion.
|
|||||||
|
|
||||||
|
|
||||||
\paragraph{Faltungsmethode}
|
\paragraph{Faltungsmethode}
|
||||||
Bei der Faltungsmethode geht man etwas anders vor. Die
|
Bei der Faltungsmethode geht wird etwas anders vorgegangen um die
|
||||||
Aktionspotentialfolge wird ``bin\"ar'' dargestellt. Das heisst, dass
|
Feuerrate zeitaufgel\"ost zu berechnen. Die Aktionspotentialfolge wird
|
||||||
eine Antwort als Vektor dargestellt wird, in welchem die Zeitpunkte der
|
zun\"achst ``bin\"ar'' dargestellt. Das heisst, dass eine Antwort als
|
||||||
|
(Zeit-)Vektor dargestellt wird, in welchem die Zeitpunkte der
|
||||||
Aktionspotentiale als 1 notiert werden. Alle anderen Elemente des
|
Aktionspotentiale als 1 notiert werden. Alle anderen Elemente des
|
||||||
Vektors sind 0. Anschlie{\ss}end wir dieser bin\"are Spiketrain mit
|
Vektors sind 0. Anschlie{\ss}end wir dieser bin\"are Spiketrain mit
|
||||||
einem Gauss Kern bestimmter Breite gefaltet.
|
einem Gauss Kern bestimmter Breite gefaltet.
|
||||||
@ -109,9 +111,9 @@ einem Gauss Kern bestimmter Breite gefaltet.
|
|||||||
\[r(t) = \int_{-\infty}^{\infty}d\tau \omega(\tau)\rho(t-\tau) \],
|
\[r(t) = \int_{-\infty}^{\infty}d\tau \omega(\tau)\rho(t-\tau) \],
|
||||||
wobei $\omega(\tau)$ der Filterkern und $\rho(t)$ die bin\"are Antwort
|
wobei $\omega(\tau)$ der Filterkern und $\rho(t)$ die bin\"are Antwort
|
||||||
ist. Bildlich geprochen wird jede 1 in $rho(t)$ durch den Filterkern
|
ist. Bildlich geprochen wird jede 1 in $rho(t)$ durch den Filterkern
|
||||||
ersetzt (Abbildung \ref{convpsth} A). Wenn der Kern richtig normiert
|
ersetzt (Abbildung \ref{convrate} A). Wenn der Kern richtig normiert
|
||||||
wurde (Integral 1), ergibt sich die Feuerrate direkt aus der
|
wurde (Integral 1), ergibt sich die Feuerrate direkt aus der
|
||||||
\"Uberlagerung der Kerne (Abb. \ref{convpsth} B). Die Faltungsmethode
|
\"Uberlagerung der Kerne (Abb. \ref{convrate} B). Die Faltungsmethode
|
||||||
f\"uhrt, anders als die anderen Methoden, zu einer kontinuierlichen
|
f\"uhrt, anders als die anderen Methoden, zu einer kontinuierlichen
|
||||||
Funktion was f\"ur spektrale Analysen von Vorteil sein kann. Die Wahl
|
Funktion was f\"ur spektrale Analysen von Vorteil sein kann. Die Wahl
|
||||||
der Kernbreite bestimmt, \"ahnlich zur Binweite, die zeitliche
|
der Kernbreite bestimmt, \"ahnlich zur Binweite, die zeitliche
|
||||||
@ -126,17 +128,18 @@ relevante Zeitskala.
|
|||||||
Faltung werden die mit einer 1 notierten Aktionspotential durch
|
Faltung werden die mit einer 1 notierten Aktionspotential durch
|
||||||
den Faltungskern ersetzt. \textbf{B)} Bei korrekter Normierung des
|
den Faltungskern ersetzt. \textbf{B)} Bei korrekter Normierung des
|
||||||
Kerns ergibt sich die Feuerrate direkt aus der \"Uberlagerung der
|
Kerns ergibt sich die Feuerrate direkt aus der \"Uberlagerung der
|
||||||
Kerne.}\label{convpsth}
|
Kerne.}\label{convrate}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\section{Spike triggered Average}
|
\section{Spike triggered Average}
|
||||||
Die graphischer Darstellung der Feuerrate reicht nicht aus um den
|
Die graphischer Darstellung der Feuerrate allein reicht nicht aus um
|
||||||
Zusammenhang zwischen neuronaler Antwort und einem Stimulus zu
|
den Zusammenhang zwischen neuronaler Antwort und einem Stimulus zu
|
||||||
analysieren. Eine Methode mehr \"uber diesen zu erfahren ist der
|
analysieren. Eine Methode mehr \"uber diesen Zusammenhang zu erfahren
|
||||||
Spike triggered average (STA). Der STA ist der mittlere Stimulus, der
|
ist der Spike triggered average (STA). Der STA ist der mittlere
|
||||||
zu einem Aktionspotential in der neuronalen Antwort f\"uhrt.
|
Stimulus, der zu einem Aktionspotential in der neuronalen Antwort
|
||||||
|
f\"uhrt.
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
STA(\tau) = \frac{1}{\langle n \rangle} \left\langle \displaystyle\sum_{i=1}^{n}{s(t_i - \tau)} \right\rangle
|
STA(\tau) = \frac{1}{\langle n \rangle} \left\langle \displaystyle\sum_{i=1}^{n}{s(t_i - \tau)} \right\rangle
|
||||||
|
Reference in New Issue
Block a user