Some makeup everywhere...

This commit is contained in:
Jan Benda 2015-11-05 08:52:39 +01:00
parent 3216086642
commit 91dc9e1f3b
8 changed files with 640 additions and 95 deletions

View File

@ -1,13 +1,15 @@
BASENAME=scientificcomputing-script BASENAME=scientificcomputing-script
SUBDIRS=programming statistics bootstrap likelihood pointprocesses SUBDIRS=designpattern statistics bootstrap regression likelihood pointprocesses
#spike_trains designpattern #programming spike_trains
# regression SUBTEXS=$(foreach subd, $(SUBDIRS), $(subd)/lecture/$(subd).tex)
pdf : $(BASENAME).pdf pdf : chapters $(BASENAME).pdf
chapters :
for sd in $(SUBDIRS); do $(MAKE) -C $$sd/lecture pdf; done for sd in $(SUBDIRS); do $(MAKE) -C $$sd/lecture pdf; done
$(BASENAME).pdf : $(BASENAME).tex header.tex $(BASENAME).pdf : $(BASENAME).tex header.tex $(SUBTEXS)
export TEXMFOUTPUT=.; pdflatex -interaction=scrollmode $< | tee /dev/stderr | fgrep -q "Rerun to get cross-references right" && pdflatex -interaction=scrollmode $< || true export TEXMFOUTPUT=.; pdflatex -interaction=scrollmode $< | tee /dev/stderr | fgrep -q "Rerun to get cross-references right" && pdflatex -interaction=scrollmode $< || true
clean : clean :
@ -17,5 +19,5 @@ clean :
cleanall : clean cleanall : clean
rm -f $(PDFFILE) rm -f $(PDFFILE)
watch : watchpdf :
while true; do ! make -q pdf && make pdf; sleep 0.5; done while true; do ! make -q pdf && make pdf; sleep 0.5; done

529
UT_WBMW_Rot_RGB.pdf Normal file

File diff suppressed because one or more lines are too long

View File

@ -103,10 +103,10 @@ der gemessene Mittelwert um den Populationsmittelwert streut.
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
Stichprobe gewonnen worden ist hat die gleiche Form und Breite wie Stichprobe gewonnen worden ist, hat die gleiche Form und Breite
die Stichprobenverteilung, ist aber um den Mittelwert berechnet wie die Stichprobenverteilung, ist aber um den Mittelwert der
aus der Stichprobe zentriert. Die Standardabweichung der Stichprobe zentriert. Die Standardabweichung der
Bootstrapverteilung kann also als Sch\"atzer f\"ur den Bootstrapverteilung kann also als Sch\"atzer f\"ur den
Standardfehler des Mittelwertes verwendet werden.} Standardfehler des Mittelwertes verwendet werden.}
\end{figure} \end{figure}

View File

@ -7,72 +7,6 @@ Beim Programmieren sind sich viel Codes in ihrer Grundstruktur sehr
immer wieder in \"ahnlicher Weise vor. In diesem Kapitel stellen wir immer wieder in \"ahnlicher Weise vor. In diesem Kapitel stellen wir
einige dieser ``Design pattern'' zusammen. einige dieser ``Design pattern'' zusammen.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Plotten einer mathematischen Funktion}
Eine mathematische Funktion ordnet einem beliebigen $x$-Wert einen
$y$-Wert zu. Um eine solche Funktion zeichnen zu k\"onnen, m\"ussen
wir eine Wertetabelle aus vielen $x$-Werten und den
dazugeh\"origen Funktionswerten $y=f(x)$ erstellen.
Wir erstellen dazu einen Vektor mit geeigneten $x$-Werten, die von
dem kleinsten bis zu dem gr\"o{\ss}ten $x$-Wert laufen, den wir
plotten wollen. Die Schrittweite f\"ur die $x$-Werte w\"ahlen wir
klein genug, um eine sch\"one glatte Kurve zu bekommen. F\"ur jeden
Wert $x_i$ dieses Vektors berechnen wir den entsprechenden
Funktionswert und erzeugen damit einen Vektor mit den $y$-Werten. Die
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}
xmin = -1.0;
xmax = 2.0;
dx = 0.01; % Schrittweite
x = xmin:dx:xmax; % Vektor mit x-Werten
y = exp(-x.*x); % keine for Schleife! '.*' fuer elementweises multiplizieren
plot(x, y);
\end{lstlisting}
\begin{lstlisting}
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}
x = -1:0.01:2; % Vektor mit x-Werten
plot(x, exp(-x.*x));
\end{lstlisting}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Skalieren und Verschieben nicht nur von Zufallszahlen}
Zufallsgeneratoren geben oft nur Zufallszahlen mit festen Mittelwerten
und Standardabweichungen (auch Skalierungen) zur\"uck. Multiplikation
mit einem Faktor skaliert die Standardabweichung und Addition einer Zahl
verschiebt den Mittelwert.
\begin{lstlisting}
% 100 random numbers draw from a Gaussian distribution with mean 0 and standard deviation 1.
x = randn(100, 1);
% 100 random numbers drawn from a Gaussian distribution with mean 4.8 and standard deviation 2.3.
mu = 4.8;
sigma = 2.3;
y = randn(100, 1)*sigma + mu;
\end{lstlisting}
Das gleiche Prinzip ist manchmal auch sinnvoll f\"ur \code{zeros} oder \code{ones}:
\begin{lstlisting}
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:
plot(x, zeros(size(x))+0.8);
% ... Linie mit y=0.5:
plot(x, ones(size(x))*0.5);
\end{lstlisting}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{for Schleifen \"uber Vektoren} \section{for Schleifen \"uber Vektoren}
Manchmal m\"ochte man doch mit einer for-Schleife \"uber einen Vektor iterieren. Manchmal m\"ochte man doch mit einer for-Schleife \"uber einen Vektor iterieren.
@ -136,6 +70,72 @@ mean(y)
\end{lstlisting} \end{lstlisting}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Skalieren und Verschieben nicht nur von Zufallszahlen}
Zufallsgeneratoren geben oft nur Zufallszahlen mit festen Mittelwerten
und Standardabweichungen (auch Skalierungen) zur\"uck. Multiplikation
mit einem Faktor skaliert die Standardabweichung und Addition einer Zahl
verschiebt den Mittelwert.
\begin{lstlisting}
% 100 random numbers draw from a Gaussian distribution with mean 0 and standard deviation 1.
x = randn(100, 1);
% 100 random numbers drawn from a Gaussian distribution with mean 4.8 and standard deviation 2.3.
mu = 4.8;
sigma = 2.3;
y = randn(100, 1)*sigma + mu;
\end{lstlisting}
Das gleiche Prinzip ist manchmal auch sinnvoll f\"ur \code{zeros} oder \code{ones}:
\begin{lstlisting}
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:
plot(x, zeros(size(x))+0.8);
% ... Linie mit y=0.5:
plot(x, ones(size(x))*0.5);
\end{lstlisting}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Plotten einer mathematischen Funktion}
Eine mathematische Funktion ordnet einem beliebigen $x$-Wert einen
$y$-Wert zu. Um eine solche Funktion zeichnen zu k\"onnen, m\"ussen
wir eine Wertetabelle aus vielen $x$-Werten und den
dazugeh\"origen Funktionswerten $y=f(x)$ erstellen.
Wir erstellen dazu einen Vektor mit geeigneten $x$-Werten, die von
dem kleinsten bis zu dem gr\"o{\ss}ten $x$-Wert laufen, den wir
plotten wollen. Die Schrittweite f\"ur die $x$-Werte w\"ahlen wir
klein genug, um eine sch\"one glatte Kurve zu bekommen. F\"ur jeden
Wert $x_i$ dieses Vektors berechnen wir den entsprechenden
Funktionswert und erzeugen damit einen Vektor mit den $y$-Werten. Die
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}
xmin = -1.0;
xmax = 2.0;
dx = 0.01; % Schrittweite
x = xmin:dx:xmax; % Vektor mit x-Werten
y = exp(-x.*x); % keine for Schleife! '.*' fuer elementweises multiplizieren
plot(x, y);
\end{lstlisting}
\begin{lstlisting}
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}
x = -1:0.01:2; % Vektor mit x-Werten
plot(x, exp(-x.*x));
\end{lstlisting}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Normierung von Histogrammen} \section{Normierung von Histogrammen}
Meistens sollten Histogramme normiert werden, damit sie vergleichbar Meistens sollten Histogramme normiert werden, damit sie vergleichbar

View File

@ -1,8 +1,8 @@
%%%%% title %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% title %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{\textbf{\huge\sffamily\tr{Introduction to\\[1ex] Scientific Computing}{Einf\"uhrung in die\\[1ex] wissenschaftliche Datenverarbeitung}}} \title{\textbf{\huge\sffamily\tr{Introduction to\\[1ex] Scientific Computing}{Einf\"uhrung in die\\[1ex] wissenschaftliche Datenverarbeitung}}}
\author{{\LARGE Jan Grewe \& Jan Benda}\\[4ex]Abteilung Neuroethologie\\[2ex]\includegraphics[width=0.3\textwidth]{UT_WBMW_Rot_RGB}} \author{{\LARGE Jan Grewe \& Jan Benda}\\[5ex]Abteilung Neuroethologie\\[2ex]\includegraphics[width=0.3\textwidth]{UT_WBMW_Rot_RGB}\vspace{3ex}}
\date{WS 15/16\\\vfill \includegraphics[width=1\textwidth]{announcements/correlationcartoon}} \date{WS 15/16\\\vfill \centerline{\includegraphics[width=0.7\textwidth]{announcements/correlationcartoon}\rotatebox{90}{\footnotesize\url{www.xkcd.com}}}}
%%%% language %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% language %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \newcommand{\tr}[2]{#1} % en % \newcommand{\tr}[2]{#1} % en
@ -193,8 +193,9 @@
\usepackage{framed} \usepackage{framed}
\newcounter{maxexercise} \newcounter{maxexercise}
\setcounter{maxexercise}{10000} % show listings up to exercise maxexercise \setcounter{maxexercise}{10000} % show listings up to exercise maxexercise
\newcounter{theexercise} \newcounter{exercise}[chapter]
\setcounter{theexercise}{1} \setcounter{exercise}{0}
\newcommand{\theexercise}{\arabic{exercise}}
\newcommand{\codepath}{} \newcommand{\codepath}{}
\newenvironment{exercise}[2]% \newenvironment{exercise}[2]%
{\newcommand{\exercisesource}{#1}% {\newcommand{\exercisesource}{#1}%
@ -203,11 +204,12 @@
\newcommand{\saveenumi}{\theenumi}\renewcommand{\labelenumi}{(\alph{enumi})}% \newcommand{\saveenumi}{\theenumi}\renewcommand{\labelenumi}{(\alph{enumi})}%
\renewcommand{\FrameCommand}{\colorbox{yellow!15}}% \renewcommand{\FrameCommand}{\colorbox{yellow!15}}%
\MakeFramed{\advance\hsize-\width \FrameRestore}% \MakeFramed{\advance\hsize-\width \FrameRestore}%
\noindent\textbf{\tr{Exercise}{\"Ubung} \arabic{theexercise}:}\newline}% \stepcounter{exercise}%
\noindent\textbf{\tr{Exercise}{\"Ubung} \thechapter.\theexercise:}\newline}%
{\ifthenelse{\equal{\exercisesource}{}}{}% {\ifthenelse{\equal{\exercisesource}{}}{}%
{\ifthenelse{\value{theexercise}>\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}:}},belowskip=0pt]{\codepath\exerciseoutput}}}}%
\endMakeFramed\stepcounter{theexercise}% \endMakeFramed%
\renewcommand{\theenumi}{\saveenumi}} \renewcommand{\theenumi}{\saveenumi}}

View File

@ -1,6 +1,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{\tr{Programming basics}{Grundlagen der Programmierung in \matlab}} \chapter{\tr{Programming basics}{Programmierung in \matlab}}
\section{Variablen und Datentypen} \section{Variablen und Datentypen}
@ -117,7 +117,7 @@ wie eine einzelne Variable gel\"oscht wird.
\subsection{Datentypen} \subsection{Datentypen}
Der Datentyp bestimmt, wie die im Speicher abgelegten Bitmuster Der Datentyp bestimmt, wie die im Speicher abgelegten Bitmuster
interpretiert werden. Die Wichtigsten Datentpyen sind folgende: interpretiert werden. Die wichtigsten Datentpyen sind folgende:
\begin{itemize} \begin{itemize}
\item \textit{integer} - Ganze Zahlen. Hier gibt es mehrere \item \textit{integer} - Ganze Zahlen. Hier gibt es mehrere
@ -134,7 +134,7 @@ unterschiedlichem Speicherbedarf und Wertebreich.
\begin{table}[] \begin{table}[]
\centering \centering
\caption{Gel\"aufige Datentypen und ihr Wertebereich.} \caption{Grundlegende Datentypen und ihr Wertebereich.}
\label{dtypestab} \label{dtypestab}
\begin{tabular}{llcl} \begin{tabular}{llcl}
\hline \hline
@ -742,10 +742,11 @@ ans =
\section{Graphische Darstellung von Daten} \section{Graphische Darstellung von Daten}
%%% Wuerde ich als eigenes Kapitel machen! JB
%%% In einem separaten Verzeichnis...
\begin{figure} \begin{figure}
\includegraphics[width=0.9\columnwidth]{./images/convincing} \includegraphics[width=0.9\columnwidth]{convincing}
\caption{Die Folgen schlecht annotierter \caption{Die Folgen schlecht annotierter
Plots. \url{www.xkcd.com}} \label{xkcdplotting} Plots. \url{www.xkcd.com}} \label{xkcdplotting}
\end{figure} \end{figure}

View File

@ -1,4 +1,4 @@
\documentclass[12pt]{report} \documentclass[12pt]{book}
\input{header} \input{header}
@ -12,10 +12,25 @@
\tableofcontents \tableofcontents
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\part{Grundlagen des Programmierens}
\graphicspath{{programming/lectures/}{programming/lectures/images/}} \graphicspath{{programming/lectures/}{programming/lectures/images/}}
\lstset{inputpath=programming/code} \lstset{inputpath=programming/code}
\include{programming/lectures/programming} \include{programming/lectures/programming}
\chapter{Graphische Darstellung}
\graphicspath{{designpattern/lecture}{designpattern/lecture/figures}}
\lstset{inputpath=designpattern/code/}
\include{designpattern/lecture/designpattern}
\chapter{Cheat-Sheet}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\part{Grundlagen der Datenanalyse}
\graphicspath{{statistics/lecture/}{statistics/lecture/figures/}} \graphicspath{{statistics/lecture/}{statistics/lecture/figures/}}
\lstset{inputpath=statistics/code} \lstset{inputpath=statistics/code}
\include{statistics/lecture/statistics} \include{statistics/lecture/statistics}
@ -26,7 +41,7 @@
\graphicspath{{regression/lecture/}{regression/lecture/figures/}} \graphicspath{{regression/lecture/}{regression/lecture/figures/}}
\lstset{inputpath=regression/code} \lstset{inputpath=regression/code}
%\include{regression/lecture/linear_regression} \include{regression/lecture/regression}
\graphicspath{{likelihood/lecture/}{likelihood/lecture/figures/}} \graphicspath{{likelihood/lecture/}{likelihood/lecture/figures/}}
\lstset{inputpath=likelihood/code} \lstset{inputpath=likelihood/code}
@ -41,8 +56,4 @@
\lstset{inputpath=spike_trains/code/} \lstset{inputpath=spike_trains/code/}
\include{spike_trains/lecture/psth_sta} \include{spike_trains/lecture/psth_sta}
\graphicspath{{designpattern/lecture}{designpattern/lecture/figures}}
\lstset{inputpath=designpattern/code/}
\include{designpattern/lecture/designpattern}
\end{document} \end{document}

View File

@ -29,7 +29,7 @@ der Daten eingesetzt:
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
st\"arksten von einem starken Schw\"anz der Verteilung st\"arksten von einem starken Schwanz der Verteilung
herausgezogen. Der Median ist dagegen robuster, aber trotzdem herausgezogen. Der Median ist dagegen robuster, aber trotzdem
nicht unbedingt identsich mit dem Modus.} nicht unbedingt identsich mit dem Modus.}
\end{figure} \end{figure}