New ibox and important environment.

Fixed listofs.
New \titlecaption.
This commit is contained in:
Jan Benda 2015-11-08 21:05:07 +01:00
parent 4804946112
commit 9b7921feca
12 changed files with 190 additions and 133 deletions

View File

@ -1,6 +1,6 @@
BASENAME=scientificcomputing-script
SUBDIRS=designpattern statistics bootstrap regression likelihood pointprocesses
SUBDIRS=plotting designpattern statistics bootstrap regression likelihood pointprocesses
# programming
SUBTEXS=$(foreach subd, $(SUBDIRS), $(subd)/lecture/$(subd).tex)

View File

@ -16,9 +16,8 @@ aus der Stichprobe. Das hat mehrere Vorteile:
\includegraphics[width=0.8\textwidth]{2012-10-29_16-26-05_771}\\[2ex]
\includegraphics[width=0.8\textwidth]{2012-10-29_16-41-39_523}\\[2ex]
\includegraphics[width=0.8\textwidth]{2012-10-29_16-29-35_312}
\caption{\label{statisticalpopulationfig}\tr{Why can we only measure a sample of the
population?}{Warum k\"onnen wir nur eine Stichprobe der
Grundgesamtheit messen?}}
\titlecaption{\label{statisticalpopulationfig} Warum k\"onnen wir
nur eine Stichprobe der Grundgesamtheit messen?}{}
\end{figure}
Zur Erinnerung: In der Statistik interessieren wir uns f\"ur
@ -43,8 +42,8 @@ die ``Stichprobenverteilung'' (sampling distribution,
\includegraphics[height=0.2\textheight]{srs1}\\[2ex]
\includegraphics[height=0.2\textheight]{srs2}\\[2ex]
\includegraphics[height=0.2\textheight]{srs3}
\caption{\label{bootstrapsamplingdistributionfig}Bootstrap der
Stichprobenvertielung (a) Von der Grundgesamtheit (population) mit
\titlecaption{\label{bootstrapsamplingdistributionfig}Bootstrap der
Stichprobenverteilung}{(a) Von der Grundgesamtheit (population) mit
unbekanntem Parameter (z.B. Mittelwert $\mu$) zieht man
Stichproben (SRS: simple random samples). Die Statistik (hier
Bestimmung von $\bar x$) kann f\"ur jede Stichprobe berechnet
@ -99,8 +98,8 @@ der gemessene Mittelwert um den Populationsmittelwert streut.
\begin{figure}[tp]
\includegraphics[width=1\textwidth]{bootstrapsem}
\caption{\label{bootstrapsemfig}Bootstrap des Standardfehlers des
Mittelwertes. Die --- normalerweise unbekannte ---
\titlecaption{\label{bootstrapsemfig}Bootstrap des Standardfehlers des
Mittelwertes.}{Die --- normalerweise unbekannte ---
Stichprobenverteilung des Mittelwerts (rot) ist um den
Populationsmittelwert bei $\mu=0$ zentriert. Die
Bootstrap-Verteilung (blau), die durch Resampling aus einer
@ -154,8 +153,8 @@ generieren. Alle anderen Eigenschaften der Daten bleiben erhalten.
\begin{figure}[tp]
\includegraphics[width=1\textwidth]{permutecorrelation}
\caption{\label{permutecorrelationfig}Permutationstest f\"ur
Korrelationen. Der Korrelationskoeffizient eines Datensatzes mit
\titlecaption{\label{permutecorrelationfig}Permutationstest f\"ur
Korrelationen.}{Der Korrelationskoeffizient eines Datensatzes mit
200 Datenpaaren ist $\rho=0.21$. Die Nullhypothesenverteilung der
aus den permutierten, unkorrelierten Datens\"atzen berechneten
Korrelationskoeffizienten ergibt die gelbe Verteilung, die um Null

View File

@ -9,11 +9,11 @@ einige dieser ``Design pattern'' zusammen.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{for Schleifen \"uber Vektoren}
Manchmal m\"ochte man doch mit einer for-Schleife \"uber einen Vektor iterieren.
\begin{lstlisting}
Grundlegend ist das Iterieren \"uber den Inhalt eines Vektors mit einer \code{for}-Schleife:
\begin{lstlisting}[caption={for-Schleife mit Indexen \"uber einen Vektor}]
x = [2:3:20]; % irgendein Vektor
for i=1:length(x) % Mit der for-Schleife "loopen" wir ueber den Vektor
i % das ist der Index der die Elemente des Vektors nacheinander indiziert.
i % das ist der Index, der die Elemente des Vektors indiziert.
x(i) % das ist der Wert des i-ten Elements des Vektors x.
a = x(i); % die Variable a bekommt den Wert des i-ten Elements des Vektors x zugewiesen.
% Benutze den Wert:
@ -24,8 +24,8 @@ end
Wenn in der Schleife das Ergebnis in einen Vektor gespeichert werden soll,
sollten wir vor der Schleife schon einen Vektor f\"ur die Ergebnisse
erstellen:
\begin{lstlisting}
x = [2:3:20]; % irgendein Vektor
\begin{lstlisting}[caption={for-Schleife zum Schreiben eines Vektors}]
x = [1.2 2.3 2.6 3.1]; % irgendein Vektor
y = zeros(length(x),1); % Platz fuer die Ergebnisse, genauso viele wie Loops der Schleife
for i=1:length(x)
% Schreibe den Rueckgabewert der Funktion get_something an die i-te
@ -39,7 +39,7 @@ mean(y)
Die Berechnungen in der Schleife k\"onnen statt einer Zahl auch einen Vektor
zur\"uckgeben. Wenn die L\"ange diese Vektors bekannt ist, dann kann vorher
eine entsprechend gro{\ss}e Matrix angelegt werden:
\begin{lstlisting}
\begin{lstlisting}[caption={for-Schleife zum Schreiben von Zeilen einer Matrix}]
x = [2:3:20]; % irgendein Vektor
y = zeros(length(x),10); % Platz fuer die Ergebnisse
for i=1:length(x)
@ -52,10 +52,9 @@ end
mean(y, 1)
\end{lstlisting}
Alternativ k\"onnen die in der Schleife erzeugten Vektoren zu einem
einzigen, durchgehenden Vektor zusammengestellt werden:
\begin{lstlisting}
\begin{lstlisting}[caption={for-Schleife zum Aneinanderh\"angen von Vektoren}]
x = [2:3:20]; % irgendein Vektor
y = []; % Leerer Vektor fuer die Ergebnisse
for i=1:length(x)
@ -77,7 +76,7 @@ und Standardabweichungen (auch Skalierungen) zur\"uck. Multiplikation
mit einem Faktor skaliert die Standardabweichung und Addition einer Zahl
verschiebt den Mittelwert.
\begin{lstlisting}
\begin{lstlisting}[caption={Skalierung von Zufallszahlen}]
% 100 random numbers draw from a Gaussian distribution with mean 0 and standard deviation 1.
x = randn(100, 1);
@ -88,7 +87,7 @@ y = randn(100, 1)*sigma + mu;
\end{lstlisting}
Das gleiche Prinzip ist manchmal auch sinnvoll f\"ur \code{zeros} oder \code{ones}:
\begin{lstlisting}
\begin{lstlisting}[caption={Skalierung von zeros und ones}]
x = -1:0.01:2; % Vektor mit x-Werten
plot(x, exp(-x.*x));
% Plotte f\"ur die gleichen x-Werte eine Linie mit y=0.8:
@ -115,7 +114,7 @@ Werte des $y$-Vektors k\"onnen dann gegen die Werte des $x$-Vektors
geplottet werden.
Folgende Programme berechnen und plotten die Funktion $f(x)=e^{-x^2}$:
\begin{lstlisting}
\begin{lstlisting}[caption={Plotten einer mathematischen Funktion --- sehr ausf\"uhrlich}]
xmin = -1.0;
xmax = 2.0;
dx = 0.01; % Schrittweite
@ -124,13 +123,13 @@ y = exp(-x.*x); % keine for Schleife! '.*' fuer elementweises multiplizieren
plot(x, y);
\end{lstlisting}
\begin{lstlisting}
\begin{lstlisting}[caption={Plotten einer mathematischen Funktion --- k\"urzer}]
x = -1:0.01:2; % Vektor mit x-Werten
y = exp(-x.*x); % keine for Schleife! '.*' fuer elementweises multiplizieren
plot(x, y);
\end{lstlisting}
\begin{lstlisting}
\begin{lstlisting}[caption={Plotten einer mathematischen Funktion --- sehr kompakt}]
x = -1:0.01:2; % Vektor mit x-Werten
plot(x, exp(-x.*x));
\end{lstlisting}
@ -143,25 +142,25 @@ mit anderen Histogrammen oder mit theoretischen
Wahrscheinlichkeitsverteilungen werden.
Die \code{histogram} Funktion macht das mit den entsprechenden Parametern automatisch:
\begin{lstlisting}
\begin{lstlisting}[caption={Probability-density-function mit der histogram-Funktion}]
x = randn(100, 1); % irgendwelche reellwertige Daten
histogram(x, 'Normalization', 'pdf');
\end{lstlisting}
\begin{lstlisting}
\begin{lstlisting}[caption={Probability mit der histogram-Funktion}]
x = randi(6, 100, 1); % irgendwelche integer Daten
histogram(x, 'Normalization', 'probability');
\end{lstlisting}
So geht es aber auch:
\begin{lstlisting}
\begin{lstlisting}[caption={Probability-density-function mit der hist- und bar-Funktion}]
x = randn(100, 1); % irgendwelche reellwertige Daten
[h, b] = hist(x); % Histogram berechnen
h = h/sum(h)/(b(2)-b(1)); % normieren zu einer Wahrscheinlichkeitsdichte
bar(b, h); % und plotten.
\end{lstlisting}
\begin{lstlisting}
\begin{lstlisting}[caption={Probability mit der hist- und bar-Funktion}]
x = randi(6, 100, 1); % irgendwelche integer Daten
[h, b] = hist(x); % Histogram berechnen
h = h/sum(h); % normieren zu Wahrscheinlichkeiten

View File

@ -10,13 +10,10 @@
\newcommand{\tr}[2]{#2} % de
\usepackage[german]{babel}
%%%%% packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{pslatex} % nice font for pdf file
\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}
%%%% layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[left=25mm,right=25mm,top=20mm,bottom=30mm]{geometry}
\setcounter{tocdepth}{1}
\usepackage{pslatex} % nice font for pdf file
%%%%% section style %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[sf,bf,it,big,clearempty]{titlesec}
@ -55,7 +52,7 @@
% spacing for floats:
\setlength{\floatsep}{12pt plus 2pt minus 2pt}
\setlength{\textfloatsep}{20pt plus 4pt minus 2pt}
\setlength{\textfloatsep}{10pt plus 4pt minus 2pt}
\setlength{\intextsep}{12pt plus 2pt minus 2pt}
% spacing for a floating page:
@ -66,11 +63,12 @@
\makeatother
% rules for floats:
\newcommand{\topfigrule}{\vspace*{10pt}{\hrule height0.4pt}\vspace*{-10.4pt}}
\newcommand{\bottomfigrule}{\vspace*{-10.4pt}{\hrule height0.4pt}\vspace*{10pt}}
%\newcommand{\topfigrule}{\vspace*{10pt}{\hrule height0.4pt}\vspace*{-10.4pt}}
%\newcommand{\bottomfigrule}{\vspace*{-10.4pt}{\hrule height0.4pt}\vspace*{10pt}}
% captions:
\usepackage[format=plain,singlelinecheck=off,labelfont=bf,font={small,sf}]{caption}
\usepackage[singlelinecheck=off,labelfont=bf,font={small,sf}]{caption}
\newcommand{\titlecaption}[2]{\caption[#1]{\textbf{#1} #2}}
% put caption on separate float:
\newcommand{\breakfloat}{\end{figure}\begin{figure}[t]}
@ -193,7 +191,7 @@
%
% Innerhalb der exercise Umgebung ist enumerate umdefiniert, um (a), (b), (c), .. zu erzeugen.
\usepackage{ifthen}
\usepackage{framed}
\usepackage{mdframed}
\newcounter{maxexercise}
\setcounter{maxexercise}{10000} % show listings up to exercise maxexercise
\newcounter{exercise}[chapter]
@ -204,14 +202,65 @@
\newcommand{\exerciseoutput}{#2}%
\setlength{\fboxsep}{2mm}%
\newcommand{\saveenumi}{\theenumi}\renewcommand{\labelenumi}{(\alph{enumi})}%
\renewcommand{\FrameCommand}{\colorbox{yellow!15}}%
\MakeFramed{\advance\hsize-\width \FrameRestore}%
\stepcounter{exercise}%
\begin{mdframed}[linewidth=0pt,backgroundcolor=yellow!15]%
\noindent\textbf{\tr{Exercise}{\"Ubung} \thechapter.\theexercise:}\newline}%
{\ifthenelse{\equal{\exercisesource}{}}{}%
{\ifthenelse{\value{exercise}>\value{maxexercise}}{}%
{\lstinputlisting[belowskip=0pt]{\codepath\exercisesource}%
\ifthenelse{\equal{\exerciseoutput}{}}{}%
{\addtocounter{lstlisting}{-1}\lstinputlisting[language={},title={\textbf{\tr{Output}{Ausgabe}:}},belowskip=0pt]{\codepath\exerciseoutput}}}}%
\endMakeFramed%
{\addtocounter{lstlisting}{-1}\lstinputlisting[language={},title={\textbf{\tr{Output}{Ausgabe}:}},nolol=true,belowskip=0pt]{\codepath\exerciseoutput}}}}%
\end{mdframed}%
\renewcommand{\theenumi}{\saveenumi}}
%%%%% info box environment: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% usage:
%
% \begin{ibox}[tp]{Python}
% The cooler programming language.
% \end{exercise}
%
% results in a nicely colored float:
%
% Info Box 1: Python
% The cooler programming language.
\usepackage[within=chapter]{newfloat}
\DeclareFloatingEnvironment[
fileextension=lob,
listname={\tr{Info Boxes}{Infoboxen}},
name={Info Box},
placement=t
]{iboxf}
\newenvironment{ibox}[2][tp]
{\SetupFloatingEnvironment{iboxf}{placement=#1}%
\begin{iboxf}%
\stepcounter{iboxf}%
\captionof{iboxf}{#2}%
\begin{mdframed}[linecolor=yellow!40,linewidth=1ex,%
backgroundcolor=yellow!15,font={\sffamily},%
frametitle={Info Box \theiboxf: #2},frametitlefont={\large\sffamily\itshape\bfseries},%
frametitlebackgroundcolor=yellow!40]}%
{\end{mdframed}%
\end{iboxf}}
%%%%% important environment: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% usage:
%
% \begin{important}
% Something you should really rememeber.
% \end{important}
%
% results in a nicely colored box with the text inside.
\newenvironment{important}
{\begin{mdframed}[linecolor=blue!40,linewidth=1ex,%
backgroundcolor=blue!10,font={\sffamily}]}%
{\end{mdframed}}
%%%%% hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[bookmarks=true,bookmarksopen=true,%
pdfpagemode=UseNone,pdfstartview=FitH,%
breaklinks=true,colorlinks=true,%
citecolor=blue!50!black,linkcolor=red!70!black,urlcolor=blue!50!black]{hyperref}

View File

@ -72,8 +72,8 @@ $\theta$ maximiert dessen Likelhood?
\begin{figure}[t]
\includegraphics[width=1\textwidth]{mlemean}
\caption{\label{mlemeanfig} Maximum Likelihood Estimation des
Mittelwerts. Oben: Die Daten zusammen mit drei m\"oglichen
\titlecaption{\label{mlemeanfig} Maximum Likelihood Estimation des
Mittelwerts.}{Oben: Die Daten zusammen mit drei m\"oglichen
Normalverteilungen mit unterschiedlichen Mittelwerten (Pfeile) aus
denen die Daten stammen k\"onnten. Unteln links: Die Likelihood
in Abh\"angigkeit des Mittelwerts als Parameter der
@ -163,8 +163,8 @@ anderen Verteilungen m\"usste man die Log-Likelihood entsprechend
\begin{figure}[t]
\includegraphics[width=1\textwidth]{mlepropline}
\caption{\label{mleproplinefig} Maximum-Likelihood Sch\"atzung der
Steigung einer Ursprungsgeraden.}
\titlecaption{\label{mleproplinefig} Maximum-Likelihood Sch\"atzung der
Steigung einer Ursprungsgeraden.}{}
\end{figure}
@ -227,8 +227,8 @@ Klassenbreite ab (\figref{mlepdffig}).
\begin{figure}[t]
\includegraphics[width=1\textwidth]{mlepdf}
\caption{\label{mlepdffig} Maximum-Likelihood Sch\"atzung einer
Wahrscheinlichkeitsdichtefunktion. Links: die 100 Datenpunkte, die
\titlecaption{\label{mlepdffig} Maximum-Likelihood Sch\"atzung einer
Wahrscheinlichkeitsdichtefunktion.}{Links: die 100 Datenpunkte, die
aus der Gammaverteilung 2. Ordnung (rot) gezogen worden sind. Der
Maximum-Likelihood-Fit ist orange dargestellt. Rechts: das
normierte Histogramm der Daten zusammen mit dem \"uber Minimierung
@ -263,9 +263,9 @@ als Funktion eines Stimulusparameters ist dann die ``Tuning-curve''
\begin{figure}[tp]
\includegraphics[width=1\textwidth]{mlecoding}
\caption{\label{mlecodingfig} Maximum Likelihood Sch\"atzung eines
\titlecaption{\label{mlecodingfig} Maximum Likelihood Sch\"atzung eines
Stimulusparameters aus der Aktivit\"at einer Population von
Neuronen. Oben: Die Tuning-Kurve eines einzelnen Neurons in
Neuronen.}{Oben: Die Tuning-Kurve eines einzelnen Neurons in
Abh\"angigkeit von der Orientierung eines Balkens. Der Stimulus
der die st\"akste Aktivit\"at in diesem Neuron hervorruft ist ein
senkrechter Balken (Pfeil, $\phi_i=90$\,\degree. Die rote Fl\"ache

View File

@ -9,8 +9,8 @@ unterstreichen.
\begin{figure}[hb!]
\includegraphics[width=0.9\columnwidth]{convincing}
\caption{Die Folgen schlecht annotierter
Plots. \url{www.xkcd.com}} \label{xkcdplotting}
\titlecaption{Die Folgen schlecht annotierter
Plots.}{\url{www.xkcd.com}} \label{xkcdplotting}
\end{figure}
\subsection{Was soll ein Plot leisten?}
@ -40,7 +40,7 @@ Korrektheit besteht.
\begin{figure}
\includegraphics[width=0.35\columnwidth]{images/one_d_problem_c}
\caption{\textbf{Comicartige Darstellung.} Ist f\"ur die Darstellung
\titlecaption{Comicartige Darstellung.}{Ist f\"ur die Darstellung
wissenschaftlicher Daten nicht geeignet.}\label{comicexamplefig}
\end{figure}
@ -69,8 +69,8 @@ vorgehen um Unterschiede nicht zu \"uberproportional zu verzerren
\begin{minipage}[t]{0.4\textwidth}
\includegraphics[width=\textwidth]{images/sample_pie}
\end{minipage}
\caption{\textbf{Perspektivische Verzerrungen beeinlfu{\ss}t die
Gr\"o{\ss}enwahrnehmung.} Durch die geeignete Wahl der
\titlecaption{Perspektivische Verzerrungen beeinlfu{\ss}t die
Gr\"o{\ss}enwahrnehmung.}{Durch die geeignete Wahl der
Perspektive erscheint das hervorgehobene Segment (C) des
Tortendiagramms als mindestens gleichwertig zum Segment A. Die
2-dimensionale Darstellung rechts macht deutlich, dass die
@ -89,8 +89,8 @@ vorgehen um Unterschiede nicht zu \"uberproportional zu verzerren
\begin{minipage}[t]{0.3\textwidth}
\includegraphics[width=\textwidth]{images/line_graph1_4}
\end{minipage}
\caption{\textbf{Wahl der Zeichenfl\"ache kann den visuellen
Eindruck beeinflu{\ss}en.} Alle drei Plots zeigen die gleichen
\titlecaption{Wahl der Zeichenfl\"ache kann den visuellen
Eindruck beeinflu{\ss}en.}{Alle drei Plots zeigen die gleichen
Daten allein die Skalierung der Zeichenfl\"ache unterscheidet sich
und beeinflusst, wie stark der Zusammenhang zwischen den
Gr\"o{\ss}en auf der x- und y-Achse wahrgenommen wird. Quelle:
@ -107,8 +107,8 @@ vorgehen um Unterschiede nicht zu \"uberproportional zu verzerren
\begin{minipage}[t]{0.3\textwidth}
\includegraphics[width=0.8\textwidth]{images/properly_scaled_graph}
\end{minipage}
\caption{\textbf{Die Skalierung von Symbolen kann problematisch
sein.} In diesen Graphen werden Symbole eingesetzt um zwei
\titlecaption{Die Skalierung von Symbolen kann problematisch
sein.} {In diesen Graphen werden Symbole eingesetzt um zwei
Kategorien zu vergleichen. Im linken Fall wird das einzelne Symbol
proportionsgerecht skaliert. Dies scheint auf den ersten Blick
richtig f\"uhrt aber dazu, dass das Symbol der Kategorie B nicht

View File

@ -4,12 +4,12 @@
\begin{figure}[t]
\includegraphics[width=1\textwidth]{rasterexamples}
\caption{\label{rasterexamplesfig}Raster-Plot von jeweils 10
Realisierungen eines station\"arenen Punktprozesses (homogener
Poisson Prozess mit Rate $\lambda=20$\;Hz, links) und eines
nicht-station\"aren Punktprozesses (perfect integrate-and-fire
Neuron getrieben mit Ohrnstein-Uhlenbeck Rauschen mit
Zeitkonstante $\tau=100$\,ms, rechts).}
\titlecaption{\label{rasterexamplesfig}Raster-Plot.}{Raster-Plot von
jeweils 10 Realisierungen eines station\"arenen Punktprozesses
(homogener Poisson Prozess mit Rate $\lambda=20$\;Hz, links) und
eines nicht-station\"aren Punktprozesses (perfect
integrate-and-fire Neuron getrieben mit Ohrnstein-Uhlenbeck
Rauschen mit Zeitkonstante $\tau=100$\,ms, rechts).}
\end{figure}
Aktionspotentiale (``Spikes'') sind die Tr\"ager der Information in
@ -33,10 +33,10 @@ sogenannten Punktprozessen.
\begin{figure}[t]
\texpicture{pointprocessscetchB}
\caption{\label{pointprocessscetchfig}Ein Punktprozess ist eine
Abfolge von Zeitpunkten $t_i$ die auch durch die Intervalle
$T_i=t_{i+1}-t_i$ oder die Anzahl der Ereignisse $n_i$ beschrieben
werden kann. }
\titlecaption{\label{pointprocessscetchfig} Statistik von
Punktprozessesen.}{Ein Punktprozess ist eine Abfolge von
Zeitpunkten $t_i$ die auch durch die Intervalle $T_i=t_{i+1}-t_i$
oder die Anzahl der Ereignisse $n_i$ beschrieben werden kann. }
\end{figure}
Ein zeitlicher Punktprozess ist ein stochastischer Prozess, der eine
@ -83,7 +83,7 @@ Gr\"o{\ss}en beschrieben werden.
\begin{figure}[t]
\includegraphics[width=1\textwidth]{isihexamples}\hfill
\caption{\label{isihexamplesfig}Interspikeintervall Histogramme der in
\titlecaption{\label{isihexamplesfig}Interspikeintervall Histogramme}{der in
\figref{rasterexamplesfig} gezeigten Spikes.}
\end{figure}
@ -111,8 +111,8 @@ sichtbar.
\begin{figure}[t]
\includegraphics[width=1\textwidth]{returnmapexamples}
\includegraphics[width=1\textwidth]{serialcorrexamples}
\caption{\label{returnmapfig}Interspikeintervall return maps und
serielle Korrelationen zwischen aufeinander folgenden Intervallen
\titlecaption{\label{returnmapfig}Interspikeintervall return maps und
serielle Korrelationen}{zwischen aufeinander folgenden Intervallen
im Abstand des Lags $k$.}
\end{figure}
@ -132,7 +132,7 @@ Intervalls mit sich selber).
% \begin{figure}[t]
% \includegraphics[width=0.48\textwidth]{poissoncounthist100hz10ms}\hfill
% \includegraphics[width=0.48\textwidth]{poissoncounthist100hz100ms}
% \caption{\label{countstatsfig}Count Statistik.}
% \titlecaption{\label{countstatsfig}Count Statistik.}{}
% \end{figure}
Die Anzahl der Ereignisse (Spikes) $n_i$ in Zeifenstern $i$ der
@ -157,7 +157,7 @@ Insbesondere ist die mittlere Rate der Ereignisse $r$ (``Spikes pro Zeit'', Feue
% LIF $I=10$, $\tau_{adapt}=100$\,ms:\\
% \includegraphics[width=1\textwidth]{lifadaptfano10-100ms}
% \end{minipage}
% \caption{\label{fanofig}Fano factor.}
% \titlecaption{\label{fanofig}Fano factor.}{}
% \end{figure}
@ -179,15 +179,15 @@ Zeit ab: $\lambda = \lambda(t)$.
\begin{figure}[t]
\includegraphics[width=1\textwidth]{poissonraster100hz}
\caption{\label{hompoissonfig}Rasterplot von Spikes eines homogenen
Poisson Prozesses mit $\lambda=100$\,Hz.}
\titlecaption{\label{hompoissonfig}Rasterplot von Spikes eines homogenen
Poisson Prozesses mit $\lambda=100$\,Hz.}{}
\end{figure}
\begin{figure}[t]
\includegraphics[width=0.45\textwidth]{poissonisihexp20hz}\hfill
\includegraphics[width=0.45\textwidth]{poissonisihexp100hz}
\caption{\label{hompoissonisihfig}Interspikeintervallverteilungen
zweier Poissonprozesse.}
\titlecaption{\label{hompoissonisihfig}Interspikeintervallverteilungen
zweier Poissonprozesse.}{}
\end{figure}
Der homogne Poissonprozess hat folgende Eigenschaften:
@ -209,7 +209,7 @@ Der homogne Poissonprozess hat folgende Eigenschaften:
\begin{figure}[t]
\includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz10ms}\hfill
\includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz100ms}
\caption{\label{hompoissoncountfig}Z\"ahlstatistik von Poisson Spikes.}
\titlecaption{\label{hompoissoncountfig}Z\"ahlstatistik von Poisson Spikes.}{}
\end{figure}
@ -237,8 +237,8 @@ Nachteile. Im folgenden werden die drei Methoden aus Abbildung
\begin{figure}[t]
\includegraphics[width=\columnwidth]{firingrates}
\caption{\textbf{Verschiedene Methoden die zeitabh\"angige Feuerrate
zu bestimmen. A)} Rasterplot einer einzelnen neuronalen
\titlecaption{Verschiedene Methoden die zeitabh\"angige Feuerrate
zu bestimmen.}{A)} Rasterplot einer einzelnen neuronalen
Antwort. Jeder vertikale Strich notiert den Zeitpunkt eines
Aktionspotentials. \textbf{B)} Feurerrate aus der instantanen
Feuerrate bestimmt. \textbf{C)} klassisches PSTH mit der Binning
@ -264,8 +264,8 @@ Aktionspotentiale generiert wurden.
\begin{figure}[!htb]
\includegraphics[width=\columnwidth]{isimethod}
\caption{\textbf{Bestimmung des zeitabh\"angigen Feuerrate aus dem
Interspike Interval. A)} Skizze eines Rasterplots einer
\titlecaption{Bestimmung des zeitabh\"angigen Feuerrate aus dem
Interspike Intervall.}{\textbf{A)} Skizze eines Rasterplots einer
einzelnen neuronalen Antwort. Jeder vertikale Strich notiert den
Zeitpunkt eines Aktionspotentials. Die Pfeile zwischen
aufeinanderfolgenden Aktionspotentialen illustrieren das
@ -292,7 +292,7 @@ koninuierliche Funktion.
\begin{figure}[h!]
\includegraphics[width=\columnwidth]{binmethod}
\caption{\textbf{Bestimmung des PSTH mit der Binning Methode. A)}
\titlecaption{Bestimmung des PSTH mit der Binning Methode.}{\textbf{A)}
Skizze eines Rasterplots einer einzelnen neuronalen Antwort. Jeder
vertikale Strich notiert den Zeitpunkt eines
Aktionspotentials. Die roten gestrichelten Linien stellen die
@ -325,7 +325,7 @@ relevante Zeitskala.
\begin{figure}[h!]
\includegraphics[width=\columnwidth]{convmethod}
\caption{\textbf{Schematische Darstellung der Faltungsmethode. A)}
\titlecaption{Schematische Darstellung der Faltungsmethode.}{\textbf{A)}
Rasterplot einer einzelnen neuronalen Antwort. Jeder vertikale
Strich notiert den Zeitpunkt eines Aktionspotentials. In der
Faltung werden die mit einer 1 notierten Aktionspotential durch
@ -355,8 +355,8 @@ ausgeschnitten wird und diese dann mittelt (Abbildung
\begin{figure}
\includegraphics[width=0.5\columnwidth]{sta}
\caption{\textbf{Spike Triggered Average eines P-Typ
Elektrorezeptors.} Der Rezeptor wurde mit einem ``white-noise''
\titlecaption{Spike Triggered Average eines P-Typ
Elektrorezeptors.}{Der Rezeptor wurde mit einem ``white-noise''
Stimulus getrieben. Zeitpunkt 0 ist der Zeitpunkt des beobachteten
Aktionspotentials.}\label{stafig}
\end{figure}
@ -380,7 +380,7 @@ Stimulus zu rekonstruieren (Abbildung
\begin{figure}
\includegraphics[width=\columnwidth]{reconstruction}
\caption{\textbf{Rekonstruktion des Stimulus mittels STA.} Die
\titlecaption{Rekonstruktion des Stimulus mittels STA.}{Die
Zellantwort wird mit dem STA gefaltet um eine Rekonstruktion des
Stimulus zu erhalten.}\label{reverse_reconstruct_fig}
\end{figure}

View File

@ -10,7 +10,7 @@ all : pdf
# script:
pdf : $(BASENAME)-chapter.pdf
$(BASENAME)-chapter.pdf : $(BASENAME)-chapter.tex $(BASENAME).tex $(PYPDFFILES)
$(BASENAME)-chapter.pdf : $(BASENAME)-chapter.tex $(BASENAME).tex $(PYPDFFILES) ../../header.tex
pdflatex -interaction=scrollmode $< | tee /dev/stderr | fgrep -q "Rerun to get cross-references right" && pdflatex -interaction=scrollmode $< || true
$(PYPDFFILES) : %.pdf : %.py

View File

@ -28,7 +28,7 @@ befassen.
\includegraphics[width=.8\textwidth]{variableB}
\label{variable:b}
\end{subfigure}
\caption{\textbf{Variablen.} Variablen sind Zeiger auf eine Adresse
\titlecaption{Variablen.}{Variablen sind Zeiger auf eine Adresse
im Speicher, die einen Namen und einen Datentypen beinhalten. Im
Speicher ist der Wert der Variable bin\"ar gespeichert. Abh\"angig
vom Datentyp wird dieses Bitmuster unterschiedlich
@ -134,7 +134,7 @@ unterschiedlichem Speicherbedarf und Wertebreich.
\begin{table}[]
\centering
\caption{Grundlegende Datentypen und ihr Wertebereich.}
\titlecaption{Grundlegende Datentypen und ihr Wertebereich.}
\label{dtypestab}
\begin{tabular}{llcl}\hline
Datentyp & Speicherbedarf & Wertebereich & Beispiel \rule{0pt}{2.5ex} \\ \hline
@ -187,7 +187,7 @@ enth\"alt in diesem Beispiel vier ganzzahlige Werte.
\begin{figure}
\includegraphics[width=0.8\columnwidth]{scalarArray}
\caption{\textbf{Skalare und Vektoren. A)} Eine skalare Variable kann
\titlecaption{Skalare und Vektoren.}{\textbf{A)} Eine skalare Variable kann
genau einen Wert tragen. \textbf{B)} Ein Vektor kann mehrer
Werte des gleichen Datentyps (z.B. ganzzahlige Integer Werte)
beinhalten. \matlab{} kennt den Zeilen- (row-) und Spaltenvektor
@ -255,7 +255,7 @@ Zeilenvektor.
\subsubsection{Zugriff auf Inhalte von Vektoren}
\begin{figure}
\includegraphics[width=0.4\columnwidth]{arrayIndexing}
\caption{\textbf{Indices von Vektoren.} Jedes Feld eines Vektors hat
\titlecaption{Indices von Vektoren.}{Jedes Feld eines Vektors hat
einen Index mit dem auf den jeweiligen Inhalt zugegriffen werden
kann.}\label{vectorindexingfig}
\end{figure}
@ -411,7 +411,7 @@ bis 3-d Matrizen (Abbildung \ref{matrixfig} A,B).
\begin{figure}
\includegraphics[width=0.5\columnwidth]{matrices}
\caption{\textbf{Matrizen. A)} Eine Variable (``test'') die eine
\titlecaption{Matrizen.}{\textbf{A)} Eine Variable (``test'') die eine
2-dimensionale Matrize ist. \textbf{B)} Illustration einer
3-dimensionalen Matrize. Die Pfeile zeigen den Rang der
Dimensionen an.}\label{matrixfig}
@ -457,7 +457,7 @@ Matrizen geht, wird \code{size} benutzt.
\begin{figure}
\includegraphics[width=0.9\columnwidth]{matrixIndexing}
\caption{\textbf{Indices von Matrizen.} Jedes Feld einer Matrize
\titlecaption{Indices von Matrizen.}{Jedes Feld einer Matrize
wird durch einen Index individuell angesprochen. Der Index setzt
sich aus so vielen Zahlen zusammen wie es Dimensionen gibt (links
2, rechts 3). Dabei steht die 1. Stelle immer f\"ur die Zeile, die
@ -508,7 +508,7 @@ den Minimalwert aller Elemente einer Matrize ermitteln m\"ochte..
\begin{figure}
\includegraphics[width=0.9\columnwidth]{matrixLinearIndexing}
\caption{\textbf{Lineares Indexieren von Matrizen.} Der Index steigt
\titlecaption{Lineares Indexieren von Matrizen.}{Der Index steigt
linear von 1 bis zur Anzahl Elemente in der Matrize an. Dabei
steigt der Index zuerst entlang der ersten, zweiten, dritten und
weiterer Dimensionen an.}\label{matrixlinearindexingfig}
@ -589,7 +589,7 @@ der gesamte Ausdruck nur dann wahr, wenn beide Ausdr\"ucke sich zu
wahr auswerten lassen.
\begin{table}[tp]
\caption{Wahrheitstabellen logisches UND (links) und logisches ODER (rechts).}\label{logicalandor}
\titlecaption{Wahrheitstabellen logisches UND (links) und logisches ODER (rechts).}{}\label{logicalandor}
\begin{minipage}[t]{0.4\textwidth}
\begin{tabular}{llll}
\multicolumn{2}{l}{\multirow{2}{*}{}} & \multicolumn{2}{c}{\textbf{B}} \\
@ -623,8 +623,8 @@ ODER (XOR) ist in \matlab{} nur als Funktion \code{xor(A, B)}
verf\"ugbar.
\begin{table}[th]
\caption{\label{logicaloperators}
\textbf{Logische Operatoren in \matlab.}}
\titlecaption{\label{logicaloperators}
Logische Operatoren in \matlab.}{}
\begin{center}
\begin{tabular}{c|c}
\hline
@ -645,8 +645,8 @@ auf Dinge wie Gleicheit (\code{==}) gr\"o{\ss}er oder kleiner als
(\code{>}, \code{<}) testen.
\begin{table}[th]
\caption{\label{relationaloperators}
\textbf{Relationale Operatoren in \matlab.}}
\titlecaption{\label{relationaloperators}
Relationale Operatoren in \matlab.}{}
\begin{center}
\begin{tabular}{c|c}
\hline
@ -764,8 +764,8 @@ bestimmten Zeitraums ausw\"ahlen m\"ochte (Abbildung
\begin{figure}[h]
\includegraphics[width= 0.9\columnwidth]{logicalIndexingTime}
\caption{\textbf{Beispiel f\"ur ``indirektes'' logisches Indizieren.}
Der rot markierte Abschnitt aus den Daten wurde ``indirekt''
\titlecaption{Beispiel f\"ur ``indirektes'' logisches Indizieren.}
{Der rot markierte Abschnitt aus den Daten wurde ``indirekt''
anhand logischen Indizierens auf dem Zeitvektor
ausgew\"ahlt.}\label{logicalindexingfig}
\end{figure}
@ -957,14 +957,14 @@ end
\end{lstlisting}
\begin{exercise}{ifelse.m}{}
Ziehe eine Zufallszahl und \"uberpr\"ufe mit einer geegnet \ciode{if} Anweisung, ob sie:
Ziehe eine Zufallszahl und \"uberpr\"ufe mit einer geegnet \code{if} Anweisung, ob sie:
\begin{enumerate}
\item ... kleiner als 0.5 ist.
\item ... kleiner oder gr\"o{\ss}er-gleich 0.5 ist.
\item ... kleiner als 0.5, gr\"o{\ss}er oder gleich 0.5 aber kleiner
als 0.75 ist oder gr\"o{\ss}er oder gleich 0.75 ist.
\end{enumerate}
\end{execise}
\end{exercise}
\subsubsection{Die \code{switch} -- Verzweigung}
@ -1300,8 +1300,17 @@ gemacht den Rahmen zu bilden und den Ablauf zu koordinieren (Abbildung
\begin{figure}
\includegraphics[width=0.5\columnwidth]{./images/simple_program.pdf}
\caption{\textbf{Ein typisches Programmlayout.} Das Kontrollskript
\titlecaption{Ein typisches Programmlayout.}{Das Kontrollskript
koordiniert den Aufruf der Funktionen, \"ubergibt Argumente und
nimmt R\"uckgabewerte entgegen.}\label{programlayoutfig}
\end{figure}
\begin{ibox}[tp]{Python}
The cooler programming language.
\end{ibox}
\begin{important}
Something you should really remember.
\end{important}

View File

@ -11,6 +11,9 @@
\maketitle
\tableofcontents
%\listoffigures
%\lstlistoflistings
%\listofiboxfs
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\part{Grundlagen des Programmierens}

View File

@ -8,7 +8,7 @@ all : pdf
# script:
pdf : $(BASENAME)-chapter.pdf
$(BASENAME)-chapter.pdf : $(BASENAME)-chapter.tex $(BASENAME).tex $(PYPDFFILES)
$(BASENAME)-chapter.pdf : $(BASENAME)-chapter.tex $(BASENAME).tex $(PYPDFFILES) ../../header.tex
pdflatex -interaction=scrollmode $< | tee /dev/stderr | fgrep -q "Rerun to get cross-references right" && pdflatex -interaction=scrollmode $< || true
$(PYPDFFILES) : %.pdf : %.py

View File

@ -24,8 +24,8 @@ der Daten eingesetzt:
\begin{figure}[t]
\includegraphics[width=1\textwidth]{median}
\caption{\label{medianfig} Median, Mittelwert und Modus einer
Wahrscheinlichkeitsverteilung. Links: Bei der symmetrischen,
\titlecaption{\label{medianfig} Median, Mittelwert und Modus einer
Wahrscheinlichkeitsverteilung.}{Links: Bei der symmetrischen,
unimodalen Normalverteilung sind Median, Mittelwert und Modus
identisch. Rechts: bei unsymmetrischen Verteilungen sind die drei
Gr\"o{\ss}en nicht mehr identisch. Der Mittelwert wird am
@ -68,7 +68,7 @@ eine feinere Einteilung. Das 3. Quartil ist das 75. Perzentil, da
\begin{figure}[t]
\includegraphics[width=1\textwidth]{quartile}
\caption{\label{quartilefig} Median und Quartile einer Normalverteilung.}
\titlecaption{\label{quartilefig} Median und Quartile einer Normalverteilung.}{}
\end{figure}
% \begin{definition}[\tr{quartile}{Quartile}]
@ -84,9 +84,10 @@ eine feinere Einteilung. Das 3. Quartil ist das 75. Perzentil, da
\begin{figure}[t]
\includegraphics[width=1\textwidth]{boxwhisker}
\caption{\label{boxwhiskerfig} Box-Whisker Plots sind gut geeignet
um mehrere unimodale Verteilungen miteinander zu vergleichen.
Hier sind es jeweils 40 normalverteilte Zufallszahlen.}
\titlecaption{\label{boxwhiskerfig} Box-Whisker Plot.}{Box-Whisker
Plots sind gut geeignet um mehrere unimodale Verteilungen
miteinander zu vergleichen. Hier sind es jeweils 40
normalverteilte Zufallszahlen.}
\end{figure}
Box-Whisker Plots sind eine h\"aufig verwendete Darstellung um die
@ -132,14 +133,12 @@ Wahrscheinlichkeitsverteilung der Messwerte abzusch\"atzen.
\begin{figure}[t]
\includegraphics[width=1\textwidth]{diehistograms}
\caption{\label{diehistogramsfig} \tr{Histograms of rolling a die
100 or 500 times. Left: plain histograms counting the frequency
of the six possible outcomes. Right: the same data normalized
to their sum.}{Histogramme des Ergebnisses von 100 oder 500 mal
W\"urfeln. Links: das absolute Histogramm z\"ahlt die Anzahl des
Auftretens jeder Augenzahl. Rechts: Normiert auf die Summe des
Histogramms werden die beiden Messungen untereinander als auch
mit der theoretischen Verteilung $P=1/6$ vergleichbar.}}
\titlecaption{\label{diehistogramsfig} Histogramme des Ergebnisses
von 100 oder 500 mal W\"urfeln.}{Links: das absolute Histogramm
z\"ahlt die Anzahl des Auftretens jeder Augenzahl. Rechts:
Normiert auf die Summe des Histogramms werden die beiden Messungen
untereinander als auch mit der theoretischen Verteilung $P=1/6$
vergleichbar.}
\end{figure}
\newpage
@ -179,8 +178,8 @@ Einheit von $x$.
\begin{figure}[t]
\includegraphics[width=1\textwidth]{pdfprobabilities}
\caption{\label{pdfprobabilitiesfig} Wahrscheinlichkeiten bei
einer Wahrscheinlichkeitsdichtefunktion.}
\titlecaption{\label{pdfprobabilitiesfig} Wahrscheinlichkeiten bei
einer Wahrscheinlichkeitsdichtefunktion.}{}
\end{figure}
F\"ur beliebige Bereiche ist die Wahrscheinlichkeit f\"ur den Wert $x$ zwischen
@ -218,10 +217,9 @@ Standardabweichung $\sigma$.
\begin{figure}[t]
\includegraphics[width=1\textwidth]{pdfhistogram}
\caption{\label{pdfhistogramfig} \tr{Histograms of normally
distributed data with different bin sizes.}{Histogramme mit
\titlecaption{\label{pdfhistogramfig} Histogramme mit
verschiednenen Klassenbreiten eines Datensatzes von
normalverteilten Messwerten. Links: Die H\"ohe des absoluten
normalverteilten Messwerten.}{Links: Die H\"ohe des absoluten
Histogramms h\"angt von der Klassenbreite ab. Rechts: Bei auf
das Integral normierten Histogrammen werden auch
unterschiedliche Klassenbreiten untereinander vergleichbar und
@ -263,8 +261,8 @@ $\Delta x$ der Klassen geteilt werden (\figref{pdfhistogramfig}).
\begin{figure}[tp]
\includegraphics[width=1\textwidth]{correlation}
\caption{\label{correlationfig} Korrelationen zwischen zwei
Datens\"atzen $x$ und $y$.}
\titlecaption{\label{correlationfig} Korrelationen zwischen zwei
Datens\"atzen $x$ und $y$.}{}
\end{figure}
Bisher haben wir Eigenschaften einer einzelnen Me{\ss}gr\"o{\ss}e
@ -287,8 +285,8 @@ nur unzureichend oder \"uberhaupt nicht erfasst (\figref{nonlincorrelationfig}).
\begin{figure}[tp]
\includegraphics[width=1\textwidth]{nonlincorrelation}
\caption{\label{nonlincorrelationfig} Nichtlineare Zusammenh\"ange
werden durch den Korrelationskoeffizienten nicht erfasst. Sowohl
\titlecaption{\label{nonlincorrelationfig} Nichtlineare Zusammenh\"ange
werden durch den Korrelationskoeffizienten nicht erfasst.}{Sowohl
die quadratische Abh\"angigkeit (links) als auch eine
Rauschkorrelation (rechts), bei der die Streuung der $y$-Werte von
$x$ abh\"angen, ergeben Korrelationskeffizienten nahe Null.