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 BASENAME=scientificcomputing-script
SUBDIRS=designpattern statistics bootstrap regression likelihood pointprocesses SUBDIRS=plotting designpattern statistics bootstrap regression likelihood pointprocesses
# programming # programming
SUBTEXS=$(foreach subd, $(SUBDIRS), $(subd)/lecture/$(subd).tex) 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-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-41-39_523}\\[2ex]
\includegraphics[width=0.8\textwidth]{2012-10-29_16-29-35_312} \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 \titlecaption{\label{statisticalpopulationfig} Warum k\"onnen wir
population?}{Warum k\"onnen wir nur eine Stichprobe der nur eine Stichprobe der Grundgesamtheit messen?}{}
Grundgesamtheit messen?}}
\end{figure} \end{figure}
Zur Erinnerung: In der Statistik interessieren wir uns f\"ur 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]{srs1}\\[2ex]
\includegraphics[height=0.2\textheight]{srs2}\\[2ex] \includegraphics[height=0.2\textheight]{srs2}\\[2ex]
\includegraphics[height=0.2\textheight]{srs3} \includegraphics[height=0.2\textheight]{srs3}
\caption{\label{bootstrapsamplingdistributionfig}Bootstrap der \titlecaption{\label{bootstrapsamplingdistributionfig}Bootstrap der
Stichprobenvertielung (a) Von der Grundgesamtheit (population) mit Stichprobenverteilung}{(a) Von der Grundgesamtheit (population) mit
unbekanntem Parameter (z.B. Mittelwert $\mu$) zieht man unbekanntem Parameter (z.B. Mittelwert $\mu$) zieht man
Stichproben (SRS: simple random samples). Die Statistik (hier Stichproben (SRS: simple random samples). Die Statistik (hier
Bestimmung von $\bar x$) kann f\"ur jede Stichprobe berechnet Bestimmung von $\bar x$) kann f\"ur jede Stichprobe berechnet
@ -99,8 +98,8 @@ der gemessene Mittelwert um den Populationsmittelwert streut.
\begin{figure}[tp] \begin{figure}[tp]
\includegraphics[width=1\textwidth]{bootstrapsem} \includegraphics[width=1\textwidth]{bootstrapsem}
\caption{\label{bootstrapsemfig}Bootstrap des Standardfehlers des \titlecaption{\label{bootstrapsemfig}Bootstrap des Standardfehlers des
Mittelwertes. Die --- normalerweise unbekannte --- Mittelwertes.}{Die --- normalerweise unbekannte ---
Stichprobenverteilung des Mittelwerts (rot) ist um den Stichprobenverteilung des Mittelwerts (rot) ist um den
Populationsmittelwert bei $\mu=0$ zentriert. Die Populationsmittelwert bei $\mu=0$ zentriert. Die
Bootstrap-Verteilung (blau), die durch Resampling aus einer Bootstrap-Verteilung (blau), die durch Resampling aus einer
@ -154,8 +153,8 @@ generieren. Alle anderen Eigenschaften der Daten bleiben erhalten.
\begin{figure}[tp] \begin{figure}[tp]
\includegraphics[width=1\textwidth]{permutecorrelation} \includegraphics[width=1\textwidth]{permutecorrelation}
\caption{\label{permutecorrelationfig}Permutationstest f\"ur \titlecaption{\label{permutecorrelationfig}Permutationstest f\"ur
Korrelationen. Der Korrelationskoeffizient eines Datensatzes mit Korrelationen.}{Der Korrelationskoeffizient eines Datensatzes mit
200 Datenpaaren ist $\rho=0.21$. Die Nullhypothesenverteilung der 200 Datenpaaren ist $\rho=0.21$. Die Nullhypothesenverteilung der
aus den permutierten, unkorrelierten Datens\"atzen berechneten aus den permutierten, unkorrelierten Datens\"atzen berechneten
Korrelationskoeffizienten ergibt die gelbe Verteilung, die um Null Korrelationskoeffizienten ergibt die gelbe Verteilung, die um Null

View File

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

View File

@ -10,13 +10,10 @@
\newcommand{\tr}[2]{#2} % de \newcommand{\tr}[2]{#2} % de
\usepackage[german]{babel} \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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[left=25mm,right=25mm,top=20mm,bottom=30mm]{geometry} \usepackage[left=25mm,right=25mm,top=20mm,bottom=30mm]{geometry}
\setcounter{tocdepth}{1} \setcounter{tocdepth}{1}
\usepackage{pslatex} % nice font for pdf file
%%%%% section style %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% section style %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[sf,bf,it,big,clearempty]{titlesec} \usepackage[sf,bf,it,big,clearempty]{titlesec}
@ -55,7 +52,7 @@
% spacing for floats: % spacing for floats:
\setlength{\floatsep}{12pt plus 2pt minus 2pt} \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} \setlength{\intextsep}{12pt plus 2pt minus 2pt}
% spacing for a floating page: % spacing for a floating page:
@ -66,11 +63,12 @@
\makeatother \makeatother
% rules for floats: % rules for floats:
\newcommand{\topfigrule}{\vspace*{10pt}{\hrule height0.4pt}\vspace*{-10.4pt}} %\newcommand{\topfigrule}{\vspace*{10pt}{\hrule height0.4pt}\vspace*{-10.4pt}}
\newcommand{\bottomfigrule}{\vspace*{-10.4pt}{\hrule height0.4pt}\vspace*{10pt}} %\newcommand{\bottomfigrule}{\vspace*{-10.4pt}{\hrule height0.4pt}\vspace*{10pt}}
% captions: % 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: % put caption on separate float:
\newcommand{\breakfloat}{\end{figure}\begin{figure}[t]} \newcommand{\breakfloat}{\end{figure}\begin{figure}[t]}
@ -193,7 +191,7 @@
% %
% Innerhalb der exercise Umgebung ist enumerate umdefiniert, um (a), (b), (c), .. zu erzeugen. % Innerhalb der exercise Umgebung ist enumerate umdefiniert, um (a), (b), (c), .. zu erzeugen.
\usepackage{ifthen} \usepackage{ifthen}
\usepackage{framed} \usepackage{mdframed}
\newcounter{maxexercise} \newcounter{maxexercise}
\setcounter{maxexercise}{10000} % show listings up to exercise maxexercise \setcounter{maxexercise}{10000} % show listings up to exercise maxexercise
\newcounter{exercise}[chapter] \newcounter{exercise}[chapter]
@ -204,14 +202,65 @@
\newcommand{\exerciseoutput}{#2}% \newcommand{\exerciseoutput}{#2}%
\setlength{\fboxsep}{2mm}% \setlength{\fboxsep}{2mm}%
\newcommand{\saveenumi}{\theenumi}\renewcommand{\labelenumi}{(\alph{enumi})}% \newcommand{\saveenumi}{\theenumi}\renewcommand{\labelenumi}{(\alph{enumi})}%
\renewcommand{\FrameCommand}{\colorbox{yellow!15}}%
\MakeFramed{\advance\hsize-\width \FrameRestore}%
\stepcounter{exercise}% \stepcounter{exercise}%
\begin{mdframed}[linewidth=0pt,backgroundcolor=yellow!15]%
\noindent\textbf{\tr{Exercise}{\"Ubung} \thechapter.\theexercise:}\newline}% \noindent\textbf{\tr{Exercise}{\"Ubung} \thechapter.\theexercise:}\newline}%
{\ifthenelse{\equal{\exercisesource}{}}{}% {\ifthenelse{\equal{\exercisesource}{}}{}%
{\ifthenelse{\value{exercise}>\value{maxexercise}}{}% {\ifthenelse{\value{exercise}>\value{maxexercise}}{}%
{\lstinputlisting[belowskip=0pt]{\codepath\exercisesource}% {\lstinputlisting[belowskip=0pt]{\codepath\exercisesource}%
\ifthenelse{\equal{\exerciseoutput}{}}{}% \ifthenelse{\equal{\exerciseoutput}{}}{}%
{\addtocounter{lstlisting}{-1}\lstinputlisting[language={},title={\textbf{\tr{Output}{Ausgabe}:}},belowskip=0pt]{\codepath\exerciseoutput}}}}% {\addtocounter{lstlisting}{-1}\lstinputlisting[language={},title={\textbf{\tr{Output}{Ausgabe}:}},nolol=true,belowskip=0pt]{\codepath\exerciseoutput}}}}%
\endMakeFramed% \end{mdframed}%
\renewcommand{\theenumi}{\saveenumi}} \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] \begin{figure}[t]
\includegraphics[width=1\textwidth]{mlemean} \includegraphics[width=1\textwidth]{mlemean}
\caption{\label{mlemeanfig} Maximum Likelihood Estimation des \titlecaption{\label{mlemeanfig} Maximum Likelihood Estimation des
Mittelwerts. Oben: Die Daten zusammen mit drei m\"oglichen Mittelwerts.}{Oben: Die Daten zusammen mit drei m\"oglichen
Normalverteilungen mit unterschiedlichen Mittelwerten (Pfeile) aus Normalverteilungen mit unterschiedlichen Mittelwerten (Pfeile) aus
denen die Daten stammen k\"onnten. Unteln links: Die Likelihood denen die Daten stammen k\"onnten. Unteln links: Die Likelihood
in Abh\"angigkeit des Mittelwerts als Parameter der in Abh\"angigkeit des Mittelwerts als Parameter der
@ -163,8 +163,8 @@ anderen Verteilungen m\"usste man die Log-Likelihood entsprechend
\begin{figure}[t] \begin{figure}[t]
\includegraphics[width=1\textwidth]{mlepropline} \includegraphics[width=1\textwidth]{mlepropline}
\caption{\label{mleproplinefig} Maximum-Likelihood Sch\"atzung der \titlecaption{\label{mleproplinefig} Maximum-Likelihood Sch\"atzung der
Steigung einer Ursprungsgeraden.} Steigung einer Ursprungsgeraden.}{}
\end{figure} \end{figure}
@ -227,8 +227,8 @@ Klassenbreite ab (\figref{mlepdffig}).
\begin{figure}[t] \begin{figure}[t]
\includegraphics[width=1\textwidth]{mlepdf} \includegraphics[width=1\textwidth]{mlepdf}
\caption{\label{mlepdffig} Maximum-Likelihood Sch\"atzung einer \titlecaption{\label{mlepdffig} Maximum-Likelihood Sch\"atzung einer
Wahrscheinlichkeitsdichtefunktion. Links: die 100 Datenpunkte, die Wahrscheinlichkeitsdichtefunktion.}{Links: die 100 Datenpunkte, die
aus der Gammaverteilung 2. Ordnung (rot) gezogen worden sind. Der aus der Gammaverteilung 2. Ordnung (rot) gezogen worden sind. Der
Maximum-Likelihood-Fit ist orange dargestellt. Rechts: das Maximum-Likelihood-Fit ist orange dargestellt. Rechts: das
normierte Histogramm der Daten zusammen mit dem \"uber Minimierung 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] \begin{figure}[tp]
\includegraphics[width=1\textwidth]{mlecoding} \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 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 Abh\"angigkeit von der Orientierung eines Balkens. Der Stimulus
der die st\"akste Aktivit\"at in diesem Neuron hervorruft ist ein der die st\"akste Aktivit\"at in diesem Neuron hervorruft ist ein
senkrechter Balken (Pfeil, $\phi_i=90$\,\degree. Die rote Fl\"ache senkrechter Balken (Pfeil, $\phi_i=90$\,\degree. Die rote Fl\"ache

View File

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

View File

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

View File

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

View File

@ -28,7 +28,7 @@ befassen.
\includegraphics[width=.8\textwidth]{variableB} \includegraphics[width=.8\textwidth]{variableB}
\label{variable:b} \label{variable:b}
\end{subfigure} \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 im Speicher, die einen Namen und einen Datentypen beinhalten. Im
Speicher ist der Wert der Variable bin\"ar gespeichert. Abh\"angig Speicher ist der Wert der Variable bin\"ar gespeichert. Abh\"angig
vom Datentyp wird dieses Bitmuster unterschiedlich vom Datentyp wird dieses Bitmuster unterschiedlich
@ -134,7 +134,7 @@ unterschiedlichem Speicherbedarf und Wertebreich.
\begin{table}[] \begin{table}[]
\centering \centering
\caption{Grundlegende Datentypen und ihr Wertebereich.} \titlecaption{Grundlegende Datentypen und ihr Wertebereich.}
\label{dtypestab} \label{dtypestab}
\begin{tabular}{llcl}\hline \begin{tabular}{llcl}\hline
Datentyp & Speicherbedarf & Wertebereich & Beispiel \rule{0pt}{2.5ex} \\ \hline Datentyp & Speicherbedarf & Wertebereich & Beispiel \rule{0pt}{2.5ex} \\ \hline
@ -187,7 +187,7 @@ enth\"alt in diesem Beispiel vier ganzzahlige Werte.
\begin{figure} \begin{figure}
\includegraphics[width=0.8\columnwidth]{scalarArray} \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 genau einen Wert tragen. \textbf{B)} Ein Vektor kann mehrer
Werte des gleichen Datentyps (z.B. ganzzahlige Integer Werte) Werte des gleichen Datentyps (z.B. ganzzahlige Integer Werte)
beinhalten. \matlab{} kennt den Zeilen- (row-) und Spaltenvektor beinhalten. \matlab{} kennt den Zeilen- (row-) und Spaltenvektor
@ -255,7 +255,7 @@ Zeilenvektor.
\subsubsection{Zugriff auf Inhalte von Vektoren} \subsubsection{Zugriff auf Inhalte von Vektoren}
\begin{figure} \begin{figure}
\includegraphics[width=0.4\columnwidth]{arrayIndexing} \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 einen Index mit dem auf den jeweiligen Inhalt zugegriffen werden
kann.}\label{vectorindexingfig} kann.}\label{vectorindexingfig}
\end{figure} \end{figure}
@ -411,7 +411,7 @@ bis 3-d Matrizen (Abbildung \ref{matrixfig} A,B).
\begin{figure} \begin{figure}
\includegraphics[width=0.5\columnwidth]{matrices} \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 2-dimensionale Matrize ist. \textbf{B)} Illustration einer
3-dimensionalen Matrize. Die Pfeile zeigen den Rang der 3-dimensionalen Matrize. Die Pfeile zeigen den Rang der
Dimensionen an.}\label{matrixfig} Dimensionen an.}\label{matrixfig}
@ -457,7 +457,7 @@ Matrizen geht, wird \code{size} benutzt.
\begin{figure} \begin{figure}
\includegraphics[width=0.9\columnwidth]{matrixIndexing} \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 wird durch einen Index individuell angesprochen. Der Index setzt
sich aus so vielen Zahlen zusammen wie es Dimensionen gibt (links 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 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} \begin{figure}
\includegraphics[width=0.9\columnwidth]{matrixLinearIndexing} \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 linear von 1 bis zur Anzahl Elemente in der Matrize an. Dabei
steigt der Index zuerst entlang der ersten, zweiten, dritten und steigt der Index zuerst entlang der ersten, zweiten, dritten und
weiterer Dimensionen an.}\label{matrixlinearindexingfig} weiterer Dimensionen an.}\label{matrixlinearindexingfig}
@ -589,7 +589,7 @@ der gesamte Ausdruck nur dann wahr, wenn beide Ausdr\"ucke sich zu
wahr auswerten lassen. wahr auswerten lassen.
\begin{table}[tp] \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{minipage}[t]{0.4\textwidth}
\begin{tabular}{llll} \begin{tabular}{llll}
\multicolumn{2}{l}{\multirow{2}{*}{}} & \multicolumn{2}{c}{\textbf{B}} \\ \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. verf\"ugbar.
\begin{table}[th] \begin{table}[th]
\caption{\label{logicaloperators} \titlecaption{\label{logicaloperators}
\textbf{Logische Operatoren in \matlab.}} Logische Operatoren in \matlab.}{}
\begin{center} \begin{center}
\begin{tabular}{c|c} \begin{tabular}{c|c}
\hline \hline
@ -645,8 +645,8 @@ auf Dinge wie Gleicheit (\code{==}) gr\"o{\ss}er oder kleiner als
(\code{>}, \code{<}) testen. (\code{>}, \code{<}) testen.
\begin{table}[th] \begin{table}[th]
\caption{\label{relationaloperators} \titlecaption{\label{relationaloperators}
\textbf{Relationale Operatoren in \matlab.}} Relationale Operatoren in \matlab.}{}
\begin{center} \begin{center}
\begin{tabular}{c|c} \begin{tabular}{c|c}
\hline \hline
@ -764,8 +764,8 @@ bestimmten Zeitraums ausw\"ahlen m\"ochte (Abbildung
\begin{figure}[h] \begin{figure}[h]
\includegraphics[width= 0.9\columnwidth]{logicalIndexingTime} \includegraphics[width= 0.9\columnwidth]{logicalIndexingTime}
\caption{\textbf{Beispiel f\"ur ``indirektes'' logisches Indizieren.} \titlecaption{Beispiel f\"ur ``indirektes'' logisches Indizieren.}
Der rot markierte Abschnitt aus den Daten wurde ``indirekt'' {Der rot markierte Abschnitt aus den Daten wurde ``indirekt''
anhand logischen Indizierens auf dem Zeitvektor anhand logischen Indizierens auf dem Zeitvektor
ausgew\"ahlt.}\label{logicalindexingfig} ausgew\"ahlt.}\label{logicalindexingfig}
\end{figure} \end{figure}
@ -957,14 +957,14 @@ end
\end{lstlisting} \end{lstlisting}
\begin{exercise}{ifelse.m}{} \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} \begin{enumerate}
\item ... kleiner als 0.5 ist. \item ... kleiner als 0.5 ist.
\item ... kleiner oder gr\"o{\ss}er-gleich 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 \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. als 0.75 ist oder gr\"o{\ss}er oder gleich 0.75 ist.
\end{enumerate} \end{enumerate}
\end{execise} \end{exercise}
\subsubsection{Die \code{switch} -- Verzweigung} \subsubsection{Die \code{switch} -- Verzweigung}
@ -1300,8 +1300,17 @@ gemacht den Rahmen zu bilden und den Ablauf zu koordinieren (Abbildung
\begin{figure} \begin{figure}
\includegraphics[width=0.5\columnwidth]{./images/simple_program.pdf} \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 koordiniert den Aufruf der Funktionen, \"ubergibt Argumente und
nimmt R\"uckgabewerte entgegen.}\label{programlayoutfig} nimmt R\"uckgabewerte entgegen.}\label{programlayoutfig}
\end{figure} \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 \maketitle
\tableofcontents \tableofcontents
%\listoffigures
%\lstlistoflistings
%\listofiboxfs
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\part{Grundlagen des Programmierens} \part{Grundlagen des Programmierens}

View File

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

View File

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