diff --git a/statistics/code/mlemean.m b/statistics/code/mlemean.m
new file mode 100644
index 0000000..90d9ef7
--- /dev/null
+++ b/statistics/code/mlemean.m
@@ -0,0 +1,29 @@
+% draw random numbers:
+n = 100;
+mu = 3.0;
+sigma =2.0;
+x = randn(n,1)*sigma+mu;
+fprintf('              mean of the data is %.2f\n', mean(x))
+fprintf('standard deviation of the data is %.2f\n', std(x))
+
+% mean as parameter:
+pmus = 2.0:0.01:4.0;
+% matrix with the probabilities for each x and pmus:
+lms = zeros(length(x), length(pmus));
+for i=1:length(pmus)
+    pmu = pmus(i);
+    p = exp(-0.5*((x-pmu)/sigma).^2.0)/sqrt(2.0*pi)/sigma;
+    lms(:,i) = p;
+end
+lm = prod(lms, 1);          % likelihood
+loglm = sum(log(lms), 1);   % log likelihood
+
+% plot likelihood of mean:
+subplot(1, 2, 1);
+plot(pmus, lm );
+xlabel('mean')
+ylabel('likelihood')
+subplot(1, 2, 2);
+plot(pmus, loglm );
+xlabel('mean')
+ylabel('log likelihood')
diff --git a/statistics/code/mlepdffit.m b/statistics/exercises/mlepdffit.m
similarity index 100%
rename from statistics/code/mlepdffit.m
rename to statistics/exercises/mlepdffit.m
diff --git a/statistics/code/mlepropfit.m b/statistics/exercises/mlepropfit.m
similarity index 93%
rename from statistics/code/mlepropfit.m
rename to statistics/exercises/mlepropfit.m
index 8197146..9c18cc1 100644
--- a/statistics/code/mlepropfit.m
+++ b/statistics/exercises/mlepropfit.m
@@ -27,3 +27,5 @@ legend('data', 'original', 'fit', 'Location', 'NorthWest');
 legend('boxoff')
 xlabel('x');
 ylabel('y');
+
+savefigpdf(gcf, 'mlepropfit.pdf', 12, 7);
diff --git a/statistics/code/mleslope.m b/statistics/exercises/mleslope.m
similarity index 100%
rename from statistics/code/mleslope.m
rename to statistics/exercises/mleslope.m
diff --git a/statistics/code/mlemeanstd.m b/statistics/exercises/mlestd.m
similarity index 56%
rename from statistics/code/mlemeanstd.m
rename to statistics/exercises/mlestd.m
index 6bb25a6..61f4b22 100644
--- a/statistics/code/mlemeanstd.m
+++ b/statistics/exercises/mlestd.m
@@ -1,33 +1,11 @@
 % draw random numbers:
-n = 500;
+n = 50;
 mu = 3.0;
 sigma =2.0;
 x = randn(n,1)*sigma+mu;
 fprintf('              mean of the data is %.2f\n', mean(x))
 fprintf('standard deviation of the data is %.2f\n', std(x))
 
-% mean as parameter:
-pmus = 2.0:0.01:4.0;
-% matrix with the probabilities for each x and pmus:
-lms = zeros(length(x), length(pmus));
-for i=1:length(pmus)
-    pmu = pmus(i);
-    p = exp(-0.5*((x-pmu)/sigma).^2.0)/sqrt(2.0*pi)/sigma;
-    lms(:,i) = p;
-end
-lm = prod(lms, 1);          % likelihood
-loglm = sum(log(lms), 1);   % log likelihood
-
-% plot likelihood of mean:
-subplot(2, 2, 1);
-plot(pmus, lm );
-xlabel('mean')
-ylabel('likelihood')
-subplot(2, 2, 2);
-plot(pmus, loglm );
-xlabel('mean')
-ylabel('log likelihood')
-
 % standard deviation as parameter:
 psigs = 1.0:0.01:3.0;
 % matrix with the probabilities for each x and psigs:
@@ -41,11 +19,12 @@ lm = prod(lms, 1);          % likelihood
 loglm = sum(log(lms), 1);   % log likelihood
 
 % plot likelihood of standard deviation:
-subplot(2, 2, 3);
+subplot(1, 2, 1);
 plot(psigs, lm );
 xlabel('standard deviation')
 ylabel('likelihood')
-subplot(2, 2, 4);
+subplot(1, 2, 2);
 plot(psigs, loglm);
 xlabel('standard deviation')
 ylabel('log likelihood')
+savefigpdf(gcf, 'mlestd.pdf', 12, 5);
diff --git a/statistics/exercises/statistics04.tex b/statistics/exercises/statistics04.tex
new file mode 100644
index 0000000..60d4e27
--- /dev/null
+++ b/statistics/exercises/statistics04.tex
@@ -0,0 +1,191 @@
+\documentclass[12pt,a4paper,pdftex]{exam}
+
+\usepackage[german]{babel}
+\usepackage{pslatex}
+\usepackage[mediumspace,mediumqspace,Gray]{SIunits}      % \ohm, \micro
+\usepackage{xcolor}
+\usepackage{graphicx}
+\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}
+
+%%%%% layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry}
+\pagestyle{headandfoot}
+\ifprintanswers
+\newcommand{\stitle}{: L\"osungen}
+\else
+\newcommand{\stitle}{}
+\fi
+\header{{\bfseries\large \"Ubung 4\stitle}}{{\bfseries\large Statistik}}{{\bfseries\large 26. Oktober, 2015}}
+\firstpagefooter{Prof. Dr. Jan Benda}{Phone: 29 74573}{Email:
+jan.benda@uni-tuebingen.de}
+\runningfooter{}{\thepage}{}
+
+\setlength{\baselineskip}{15pt}
+\setlength{\parindent}{0.0cm}
+\setlength{\parskip}{0.3cm}
+\renewcommand{\baselinestretch}{1.15}
+
+%%%%% listings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{listings}
+\lstset{
+  language=Matlab,
+  basicstyle=\ttfamily\footnotesize,
+  numbers=left,
+  numberstyle=\tiny,
+  title=\lstname,
+  showstringspaces=false,
+  commentstyle=\itshape\color{darkgray},
+  breaklines=true,
+  breakautoindent=true,
+  columns=flexible,
+  frame=single,
+  xleftmargin=1em,
+  xrightmargin=1em,
+  aboveskip=10pt
+}
+
+%%%%% math stuff: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{bm} 
+\usepackage{dsfont}
+\newcommand{\naZ}{\mathds{N}}
+\newcommand{\gaZ}{\mathds{Z}}
+\newcommand{\raZ}{\mathds{Q}}
+\newcommand{\reZ}{\mathds{R}}
+\newcommand{\reZp}{\mathds{R^+}}
+\newcommand{\reZpN}{\mathds{R^+_0}}
+\newcommand{\koZ}{\mathds{C}}
+
+%%%%% page breaks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\continue}{\ifprintanswers%
+\else
+\vfill\hspace*{\fill}$\rightarrow$\newpage%
+\fi}
+\newcommand{\continuepage}{\ifprintanswers%
+\newpage
+\else
+\vfill\hspace*{\fill}$\rightarrow$\newpage%
+\fi}
+\newcommand{\newsolutionpage}{\ifprintanswers%
+\newpage%
+\else
+\fi}
+
+%%%%% new commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\qt}[1]{\textbf{#1}\\}
+\newcommand{\pref}[1]{(\ref{#1})}
+\newcommand{\extra}{--- Zusatzaufgabe ---\ \mbox{}}
+\newcommand{\code}[1]{\texttt{#1}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+
+\input{instructions}
+
+
+\begin{questions}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\question \qt{Maximum Likelihood der Standardabweichung} 
+Wir wollen uns die Likelihood und die Log-Likelihood am Beispiel der
+Absch\"atzung der Standardabweichung verdeutlichen.
+\begin{parts}
+  \part Ziehe $n=50$ normalverteilte Zufallsvariablen mit Mittelwert $\mu=3$
+  und einer Standardabweichung $\sigma=2$.
+
+  \part
+  Plotte die Likelihood (aus dem Produkt der Wahrscheinlichkeiten) und
+  die Log-Likelihood (aus der Summe der logarithmierten
+  Wahrscheinlichkeiten) f\"ur die Standardabweichung als Parameter. Vergleiche die
+  Position der Maxima mit der aus den Daten berechneten Standardabweichung.
+
+  \part
+  Erh\"ohe $n$ auf 1000. Was passiert mit der Likelihood, was mit der Log-Likelihood? Warum?
+\end{parts}
+\begin{solution}
+  \lstinputlisting{mlestd.m}
+  \includegraphics[width=1\textwidth]{mlestd}
+\end{solution}
+
+\continue
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\question \qt{Maximum-Likelihood-Sch\"atzer einer Ursprungsgeraden} 
+In der Vorlesung haben wir eine Gleichung f\"ur die Maximum-Likelihood
+Absch\"atzung der Steigung einer Ursprungsgeraden hergeleitet.
+\begin{parts}
+  \part \label{mleslopefunc} Schreibe eine Funktion, die in einem $x$ und einem
+  $y$ Vektor die Datenpaare \"uberreicht bekommt und die Steigung der
+  Ursprungsgeraden, die die Likelihood maximiert, zur\"uckgibt
+  ($\sigma=\text{const}$).
+
+  \part
+  Schreibe ein Skript, das Datenpaare erzeugt, die um eine
+  Ursprungsgerade mit vorgegebener Steigung streuen. Berechne mit der
+  Funktion aus \pref{mleslopefunc} die Steigung aus den Daten,
+  vergleiche mit der wahren Steigung, und plotte die urspr\"ungliche
+  sowie die gefittete Gerade zusammen mit den Daten.
+
+  \part
+  Ver\"andere die Anzahl der Datenpunkte, die Steigung, sowie die
+  Streuung der Daten um die Gerade.
+\end{parts}
+\begin{solution}
+  \lstinputlisting{mleslope.m}
+  \lstinputlisting{mlepropfit.m}
+  \includegraphics[width=1\textwidth]{mlepropfit}
+\end{solution}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\question \qt{Maximum-Likelihood-Sch\"atzer einer Wahrscheinlichkeitsdichtefunktion} 
+Verschiedene Wahrscheinlichkeitsdichtefunktionen haben Parameter, die
+nicht so einfach wie der Mittelwert und die Standardabweichung einer
+Normalverteilung direkt aus den Daten berechnet werden k\"onnen. Solche Parameter
+m\"ussen dann aus den Daten mit der Maximum-Likelihood-Methode gefittet werden.
+
+Um dies zu veranschaulichen ziehen wir uns diesmal Zufallszahlen, die nicht einer
+Normalverteilung entstammen, sonder aus der Gamma-Verteilung.
+\begin{parts}
+  \part
+  Finde heraus welche Funktion die Wahrscheinlichkeitsdichtefunktion
+  (probability density function) der Gamma-Verteilung in \code{matlab}
+  berechnet.
+
+  \part
+  Plotte mit Hilfe dieser Funktion die  Wahrscheinlichkeitsdichtefunktion
+  der Gamma-Verteilung f\"ur verschiedene Werte des (positiven) ``shape'' Parameters.
+  Den ``scale'' Parameter setzen wir auf Eins.
+
+  \part
+  Finde heraus mit welcher Funktion Gammaverteilte Zufallszahlen in
+  \code{matlab} gezogen werden k\"onnen. Erzeuge mit dieser Funktion
+  50 Zufallszahlen mit einem der oben geplotteten ``shape'' Parameter.
+
+  \part
+  Berechne und plotte ein normiertes Histogramm dieser Zufallszahlen.
+
+  \part
+  Finde heraus mit welcher \code{matlab}-Funktion eine beliebige
+  Verteilung (``distribution'') und die Gammaverteilung an die
+  Zufallszahlen nach der Maximum-Likelihood Methode gefittet werden
+  kann.
+
+  \part
+  Bestimme mit dieser Funktion die Parameter der
+  Gammaverteilung aus den Zufallszahlen. 
+
+  \part
+  Plotte anschlie{\ss}end
+  die Gammaverteilung mit den gefitteten Parametern.
+\end{parts}
+\begin{solution}
+  \lstinputlisting{mlepdffit.m}
+  %\includegraphics[width=1\textwidth]{mlepdffit}
+\end{solution}
+
+\end{questions}
+
+\end{document}
\ No newline at end of file
diff --git a/statistics/lecture/descriptivestatistics.tex b/statistics/lecture/descriptivestatistics.tex
index 5661917..f0e0f08 100644
--- a/statistics/lecture/descriptivestatistics.tex
+++ b/statistics/lecture/descriptivestatistics.tex
@@ -616,17 +616,15 @@ Der Maximum-Likelihood-Estimator ist das arithmetische Mittel der Daten. D.h.
 das arithmetische Mittel maximiert die Wahrscheinlichkeit, dass die Daten aus einer
 Normalverteilung mit diesem Mittelwert gezogen worden sind.
 
-\begin{exercise}[mlemeanstd.m]
+\begin{exercise}[mlemean.m]
   Ziehe $n=50$ normalverteilte Zufallsvariablen mit einem Mittelwert $\ne 0$
   und einer Standardabweichung $\ne 1$.
 
   Plotte die Likelihood (aus dem Produkt der Wahrscheinlichkeiten) und
   die Log-Likelihood (aus der Summe der logarithmierten
-  Wahrscheinlichkeiten) f\"ur (1) den Mittelwert und (2) die
-  Standardabweichung. Vergleiche die Position der Maxima mit den
-  aus den Daten berechneten Mittelwerten und Standardabweichungen.
-
-  Erh\"ohe $n$ auf 1000. Was passiert mit der Likelihood, was mit der Log-Likelihood?
+  Wahrscheinlichkeiten) f\"ur den Mittelwert als Parameter. Vergleiche
+  die Position der Maxima mit den aus den Daten berechneten
+  Mittelwerte.
 \end{exercise}
 
 
@@ -698,24 +696,6 @@ Daten berechnet werden. Da bleibt dann nur auf numerische Verfahren
 zur Optimierung der Kostenfunktion, wie z.B. der Gradientenabstieg,
 zur\"uckzugreifen.
 
-\begin{exercise}[mleslope.m]
-  Schreibe eine Funktion, die in einem $x$ und einem $y$ Vektor die
-  Datenpaare \"uberreicht bekommt und die Steigung der
-  Ursprungsgeraden \eqnref{mleslope}, die die Likelihood maximiert,
-  zur\"uckgibt ($\sigma=1$).
-\end{exercise}
-
-\begin{exercise}[mlepropfit.m]
-  Schreibe ein Skript, das Datenpaare erzeugt, die um eine
-  Ursprungsgerade mit vorgegebener Steigung streuen. Berechne mit der
-  Funktion die Steigung aus den Daten, vergleiche mit der wahren
-  Steigung, und plotte die urspr\"ungliche sowie die gefittete Gerade
-  zusammen mit den Daten.
-
-  Ver\"andere die Anzahl der Datenpunkte, die Steigung, sowie die
-  Streuung der Daten um die Gerade.
-\end{exercise}
-
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{Fits von Wahrscheinlichkeitsverteilungen}
@@ -754,33 +734,6 @@ z.B. dem Gradientenabstieg, gel\"ost wird.
     des quadratischen Abstands zum Histogramm berechneten Fits ist potentiell schlechter.}
 \end{figure}
 
-
-\begin{exercise}[mlepdffit.m]
-  Zur Abwechslung ziehen wir uns diesmal Zufallszahlen, die nicht
-  einer Normalverteilung entstammen, sonder aus der Gamma-Verteilung.
-
-  Finde heraus welche Funktion die Wahrscheinlichkeitsdichtefunktion
-  (probability density function) der Gamma-Verteilung in \code{matlab}
-  berechnet.
-
-  Plotte mit Hilfe dieser Funktion die  Wahrscheinlichkeitsdichtefunktion
-  der Gamma-Verteilung f\"ur verschiedene Werte des (positiven) ``shape'' Parameters.
-  Den ``scale'' Parameter setzen wir auf Eins.
-
-  Finde heraus mit welcher Funktion Gamma-verteilte Zufallszahlen in
-  \code{matlab} gezogen werden k\"onnen. Erzeuge mit dieser Funktion
-  50 Zufallszahlen mit einem der oben geplotteten ``shape'' Parameter.
-
-  Berechne und plotte ein normiertes Histogramm dieser Zufallszahlen.
-
-  Finde heraus mit welcher \code{matlab}-Funktion die Gammaverteilung
-  an die Zufallszahlen nach der Maximum-Likelihood Methode gefittet
-  werden kann.  Bestimme mit dieser Funktion die Parameter der
-  Gammaverteilung aus den Zufallszahlen. Plotte anschlie{\ss}end
-  die Gammaverteilung mit den gefitteten Parametern.
-\end{exercise}
-
-
 \end{document}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%