modified statistic exercises
This commit is contained in:
parent
86ba1bc0fe
commit
8af349e9cb
@ -1,39 +1,40 @@
|
|||||||
n = 10000;
|
n = 10000;
|
||||||
|
|
||||||
%% (a) simulate n times rolling a die:
|
%% (a) simulate n times rolling a die:
|
||||||
x = rollthedie( n );
|
maxeyes = 8;
|
||||||
|
x = rollthedie(n, maxeyes);
|
||||||
|
|
||||||
%% (b) probability P(3):
|
%% (b) probability P(5):
|
||||||
P3 = sum(x == 3)/length(x);
|
P5 = sum(x == 5)/length(x);
|
||||||
fprintf( 'P(3)=%.3f, expected is %.3f\n', P3, 1/6 );
|
fprintf('P(5)=%.3f, expected is %.3f\n', P5, 1/maxeyes);
|
||||||
|
|
||||||
for i =1:6
|
for i =1:maxeyes
|
||||||
P = sum(x == i)/length(x);
|
P = sum(x == i)/length(x);
|
||||||
fprintf( 'P(%d)=%.3f, expected is %.3f\n', i, P, 1/6 );
|
fprintf('P(%d)=%.3f, expected is %.3f\n', i, P, 1/maxeyes);
|
||||||
end
|
end
|
||||||
|
|
||||||
%% (c) P(i)
|
%% (c) P(i)
|
||||||
P = zeros(1, 6);
|
P = zeros(1, maxeyes);
|
||||||
for i =1:6
|
for i =1:maxeyes
|
||||||
P(i) = sum(x == i)/length(x);
|
P(i) = sum(x == i)/length(x);
|
||||||
end
|
end
|
||||||
subplot( 1, 2, 1 )
|
subplot(1, 2, 1)
|
||||||
plot( [0 7], [1/6 1/6], 'r', 'linewidth', 3 )
|
plot([0 maxeyes+1], [1/maxeyes 1/maxeyes], 'r', 'linewidth', 3)
|
||||||
hold on
|
hold on
|
||||||
bar( P );
|
bar(P);
|
||||||
hold off
|
hold off
|
||||||
set(gca, 'XTick', 1:6 );
|
set(gca, 'XTick', 1:maxeyes);
|
||||||
xlim( [ 0 7 ] );
|
xlim([0 maxeyes+1]);
|
||||||
xlabel('Eyes');
|
xlabel('Eyes');
|
||||||
ylabel('Probability');
|
ylabel('Probability');
|
||||||
|
|
||||||
%% (d) histogram of x
|
%% (d) histogram of x
|
||||||
subplot( 1, 2, 2 );
|
subplot(1, 2, 2);
|
||||||
diehist( x );
|
diehist(x);
|
||||||
|
|
||||||
%% (e) loaded die
|
%% (e) loaded die
|
||||||
% eye 1 to 5 have P=1/8, eye 6 has P = 3/8 !
|
% eye 1 to 5 have P=1/8, eye 6 has P = 3/8 !
|
||||||
x = randi( 8, 1, n ); % random numbers from 1 to 8
|
x = randi(8, 1, n); % random numbers from 1 to 8
|
||||||
x(x>6) = 6; % set numbers 7 and 8 to 6
|
x(x>6) = 6; % set numbers 7 and 8 to 6
|
||||||
diehist( x );
|
diehist(x);
|
||||||
savefigpdf(gcf, 'die1.pdf', 12, 5)
|
savefigpdf(gcf, 'die1.pdf', 12, 5)
|
Binary file not shown.
@ -3,23 +3,25 @@ n = 100;
|
|||||||
P = zeros(ndies, 6);
|
P = zeros(ndies, 6);
|
||||||
for i = 1:ndies
|
for i = 1:ndies
|
||||||
% (a) roll a single die:
|
% (a) roll a single die:
|
||||||
x = rollthedie( n );
|
x = rollthedie(n, 6);
|
||||||
% (b) compute normalized histogram:
|
% (b) compute normalized histogram:
|
||||||
[h,b] = hist( x, 1:6 );
|
[h,b] = hist(x, 1:6);
|
||||||
h = h/sum(h); % normalization
|
h = h/sum(h); % normalization
|
||||||
% (c) store the histograms:
|
% (c) store the histograms:
|
||||||
P(i,:) = h;
|
P(i,:) = h;
|
||||||
end
|
end
|
||||||
|
|
||||||
% (c) mean and standard deviation for each eye:
|
% (c) mean and standard deviation for each eye:
|
||||||
m = mean(P, 1);
|
m = mean(P, 1);
|
||||||
s = std(P, 1);
|
s = std(P, 1);
|
||||||
|
|
||||||
% (d) plot results:
|
% (d) plot results:
|
||||||
bar(m, 'facecolor', [0.8 0 0]); % darker red
|
bar(m, 'facecolor', [0.8 0 0]); % darker red
|
||||||
hold on;
|
hold on;
|
||||||
errorbar(m, s, '.k', 'linewidth', 2 ); % k is black
|
errorbar(m, s, '.k', 'linewidth', 2); % k is black
|
||||||
set(gca, 'XTick', 1:6 );
|
set(gca, 'XTick', 1:6);
|
||||||
xlim( [ 0, 7 ] );
|
xlim([ 0, 7 ]);
|
||||||
ylim( [ 0, 0.25])
|
ylim([ 0, 0.25])
|
||||||
xlabel('Eyes');
|
xlabel('Eyes');
|
||||||
ylabel('Probability');
|
ylabel('Probability');
|
||||||
hold off;
|
hold off;
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
function diehist( x )
|
function diehist(x)
|
||||||
% plots a normalized histogram of random numbers x drawn from rolling a
|
% plots a normalized histogram of integer random numbers x
|
||||||
% die.
|
% drawn from rolling a die.
|
||||||
[h,b] = hist( x, 1:6 );
|
maxx = max(x);
|
||||||
h = h/sum(h); % normalization
|
[h,b] = hist(x, 1:maxx);
|
||||||
plot( [0 7], [1/6 1/6], 'r', 'linewidth', 3 )
|
h = h/sum(h); % normalization
|
||||||
hold on
|
plot([0 maxx+1], [1/maxx 1/maxx], 'r', 'linewidth', 3)
|
||||||
bar( b, h );
|
hold on
|
||||||
hold off
|
bar(b, h);
|
||||||
set(gca, 'XTick', 1:6 );
|
hold off
|
||||||
xlim( [ 0, 7 ] );
|
set(gca, 'XTick', 1:maxx);
|
||||||
xlabel('Eyes');
|
xlim([ 0, maxx+1]);
|
||||||
ylabel('Probability');
|
xlabel('Eyes');
|
||||||
|
ylabel('Probability');
|
||||||
end
|
end
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
\documentclass[12pt,a4paper,pdftex]{exam}
|
\documentclass[12pt,a4paper,pdftex]{exam}
|
||||||
|
|
||||||
\usepackage[german]{babel}
|
\usepackage[german]{babel}
|
||||||
\usepackage{pslatex}
|
\usepackage{pslatex}
|
||||||
@ -84,32 +84,73 @@ jan.benda@uni-tuebingen.de}
|
|||||||
|
|
||||||
\input{instructions}
|
\input{instructions}
|
||||||
|
|
||||||
|
\ifprintanswers%
|
||||||
|
\else
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \"Uberzeuge dich von jeder einzelnen Zeile deines Codes, dass
|
||||||
|
sie auch wirklich das macht, was sie machen soll! Teste dies mit
|
||||||
|
kleinen Beispielen direkt in der Kommandozeile.
|
||||||
|
\item Versuche die L\"osungen der Aufgaben m\"oglichst in
|
||||||
|
sinnvolle kleine Funktionen herunterzubrechen.
|
||||||
|
Sobald etwas \"ahnliches mehr als einmal berechnet werden soll,
|
||||||
|
lohnt es sich eine Funktion daraus zu schreiben!
|
||||||
|
\item Teste rechenintensive \code{for} Schleifen, Vektoren, Matrizen
|
||||||
|
zuerst mit einer kleinen Anzahl von Wiederholungen oder kleiner
|
||||||
|
Gr\"o{\ss}e, und benutze erst am Ende, wenn alles \"uberpr\"uft
|
||||||
|
ist, eine gro{\ss}e Anzahl von Wiederholungen oder Elementen, um eine gute
|
||||||
|
Statistik zu bekommen.
|
||||||
|
\item Benutze die Hilfsfunktion von \code{matlab} (\code{help
|
||||||
|
command} oder \code{doc command}) und das Internet, um
|
||||||
|
herauszufinden, wie bestimmte \code{matlab} Funktionen zu verwenden
|
||||||
|
sind und was f\"ur M\"oglichkeiten sie bieten.
|
||||||
|
Auch zu inhaltlichen Konzepten bietet das Internet oft viele
|
||||||
|
Antworten!
|
||||||
|
\item Die L\"osung bitte als zip-Archiv mit dem Namen
|
||||||
|
``probabilities\_\{nachname\}\_\{vorname\}.zip'' auf ILIAS hochladen.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\fi
|
||||||
|
|
||||||
|
|
||||||
\begin{questions}
|
\begin{questions}
|
||||||
|
|
||||||
\question \qt{Wahrscheinlichkeiten eines W\"urfels I}
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\question \textbf{Lies im Skript das Kapitel 3 ``Programmierstil''!}
|
||||||
|
|
||||||
Der Computer kann auch als W\"urfel verwendet werden!
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\question \qt{Wahrscheinlichkeiten eines W\"urfels I}
|
||||||
|
Der Computer kann mit W\"urfeln w\"urfeln die mehr als 6 Seiten haben!
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Simuliere 10000 W\"urfe mit dem W\"urfel durch Erzeugung von
|
\part Simuliere 10000 W\"urfe mit einem W\"urfel mit acht Seiten
|
||||||
ganzzahligen Zufallszahlen mit den Augenzahlen $x_i = 1, 2, \ldots 6$ .
|
durch Erzeugung von ganzzahligen Zufallszahlen mit den Augenzahlen
|
||||||
|
$x_i = 1, 2, \ldots 8$ .
|
||||||
|
|
||||||
|
\part Berechne die Wahrscheinlichkeit $P(5)$ des Auftretens der
|
||||||
|
Augenzahl f\"unf durch Bestimmung der Anzahl der F\"unfen im
|
||||||
|
Datensatz.
|
||||||
|
|
||||||
|
Entspricht das Ergebnis deiner Erwartung?
|
||||||
|
|
||||||
|
\"Uberpr\"ufe auch die Wahrscheinlichkeit $P(x_i)$ der anderen
|
||||||
|
Zahlen.
|
||||||
|
|
||||||
\part Berechne die Wahrscheinlichkeit $P(3)$
|
|
||||||
des Auftretens der Augenzahl drei durch Bestimmung der Anzahl der Dreien im Datensatz.\\
|
|
||||||
Entspricht das Ergebnis deiner Erwartung?\\
|
|
||||||
\"Uberpr\"ufe auch die Wahrscheinlichkeit $P(x_i)$ der anderen Zahlen.\\
|
|
||||||
Ist das ein fairer W\"urfel?
|
Ist das ein fairer W\"urfel?
|
||||||
|
|
||||||
\part Speicher die berechneten Wahrscheinlichkeiten $P(x_i)$ f\"ur das Auftreten der
|
\part Speicher die berechneten Wahrscheinlichkeiten $P(x_i)$ f\"ur
|
||||||
gew\"urfelten Zahlen in einem Vektor und benutze die \code{bar} Funktion,
|
das Auftreten der gew\"urfelten Zahlen in einem Vektor und benutze
|
||||||
um diese Wahrscheinlichkeiten als Funktion der Augenzahl zu plotten.
|
die \code{bar()} Funktion, um diese Wahrscheinlichkeiten als
|
||||||
|
Funktion der Augenzahl zu plotten.
|
||||||
|
|
||||||
\part Erstelle in einem weiterem Plot ein entsprechendes normiertes Histogramm
|
\part Erstelle in einem weiterem Plot ein entsprechendes normiertes Histogramm
|
||||||
mit der \code{hist} Funktion.
|
mit Hilfe der \code{hist()} und \code{bar()} Funktionen.
|
||||||
|
|
||||||
|
\part \extra Wie k\"onnte man einen gezinkten sechsseitigen W\"urfel
|
||||||
|
simulieren, bei dem die sechs dreimal so h\"aufig wie die anderen
|
||||||
|
Zahlen gew\"urfelt wird?
|
||||||
|
|
||||||
\part \extra Wie k\"onnte man einen gezinkten W\"urfel simulieren, bei dem die sechs
|
Fertige von diesem W\"urfel ein normiertes Histogram aus 10000
|
||||||
dreimal so h\"aufig wie die anderen Zahlen gew\"urfelt wird?\\
|
W\"urfen an.
|
||||||
Fertige von diesem W\"urfel ein Histogram aus 10000 W\"urfen an.
|
|
||||||
\end{parts}
|
\end{parts}
|
||||||
\begin{solution}
|
\begin{solution}
|
||||||
\lstinputlisting{rollthedie.m}
|
\lstinputlisting{rollthedie.m}
|
||||||
@ -120,6 +161,7 @@ Der Computer kann auch als W\"urfel verwendet werden!
|
|||||||
|
|
||||||
|
|
||||||
\continue
|
\continue
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\question \qt{Wahrscheinlichkeiten eines W\"urfels II}
|
\question \qt{Wahrscheinlichkeiten eines W\"urfels II}
|
||||||
Wir werten nun das Verhalten mehrerer W\"urfel aus.
|
Wir werten nun das Verhalten mehrerer W\"urfel aus.
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
@ -128,8 +170,8 @@ Wir werten nun das Verhalten mehrerer W\"urfel aus.
|
|||||||
\part Berechne aus diesem Datensatz f\"ur jeden W\"urfel ein normiertes Histogramm.
|
\part Berechne aus diesem Datensatz f\"ur jeden W\"urfel ein normiertes Histogramm.
|
||||||
\part Bestimme den Mittelwert und die Standardabweichung f\"ur jede
|
\part Bestimme den Mittelwert und die Standardabweichung f\"ur jede
|
||||||
Augenzahl gemittelt \"uber die W\"urfel.
|
Augenzahl gemittelt \"uber die W\"urfel.
|
||||||
\part Stelle das Ergebnis mit einem S\"aulenplot mit Fehlerbalken dar
|
\part Stelle das Ergebnis in einem S\"aulenplot mit Fehlerbalken dar
|
||||||
(\code{bar} mit \code{errorbar} Funktionen).
|
(\code{bar()} mit \code{errorbar()} Funktionen).
|
||||||
\end{parts}
|
\end{parts}
|
||||||
\begin{solution}
|
\begin{solution}
|
||||||
\lstinputlisting{die2.m}
|
\lstinputlisting{die2.m}
|
||||||
@ -137,45 +179,43 @@ Wir werten nun das Verhalten mehrerer W\"urfel aus.
|
|||||||
\end{solution}
|
\end{solution}
|
||||||
|
|
||||||
|
|
||||||
\question \qt{Wahrscheinlichkeiten der Normalverteilung}
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
Mit den folgenden Aufgaben wollen wir bestimmen, welcher Anteil eines
|
\question \qt{Histogramm der Normalverteilung}
|
||||||
normalverteilten Datensatzes in bestimmten Grenzen symmetrisch um den
|
\vspace{-3ex}
|
||||||
Mittelwert enthalten ist.
|
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Erzeuge einen Datensatz $X = (x_1, x_2, ... x_n)$ aus
|
\part Erzeuge einen Datensatz $X = (x_1, x_2, ... x_n)$ aus
|
||||||
$n=10000$ normalverteilten Zufallszahlen mit Mittelwert $\mu=0$ und
|
$n=10000$ normalverteilten Zufallszahlen mit Mittelwert $\mu=0$ und
|
||||||
Standardabweichung $\sigma=1$.
|
Standardabweichung $\sigma=1$ (\code{randn()} Funktion).
|
||||||
\part \label{onesigma} Wieviele dieser Daten sind maximal eine Standardabweichung vom Mittelwert entfernt?\\
|
|
||||||
D.h. wieviele Datenwerte $x_i$ haben den Wert $-\sigma < x_i < +\sigma$?\\
|
\part Berechne aus diesem Datensatz die Wahrscheinlichkeit $P(0\le
|
||||||
Wie gro{\ss} ist also die Wahrscheinlichkeit $P_{\pm\sigma}$ einen
|
x<0.5)$.
|
||||||
Wert in diesem Interval zu erhalten?
|
|
||||||
\part \label{probintegral} Berechne numerisch diese
|
\part Was passiert mit der Wahrscheinlichkeit eine Zahl in einem
|
||||||
Wahrscheinlichkeit aus dem entsprechenden Integral
|
bestimmten Interval zu ziehen (z.B. $P(0\le x<a)$), wenn dieses
|
||||||
\[ P_{\pm\sigma}=\int_{x=\mu-\sigma}^{x=\mu+\sigma} p_g(x) \, dx \]
|
Intervall immer kleiner wird ($a \to 0$)?
|
||||||
\"uber die Normalverteilung
|
|
||||||
\[ p_g(x) =
|
Schreibe ein Programm, das dies illustriert indem es $P(0\le x<a)$
|
||||||
\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2} \; . \]
|
als Funktion von $a$ plottet ($0 \ge a \ge 4$).
|
||||||
\"Uberpr\"ufe zuerst, ob tats\"achlich
|
|
||||||
\[ \int_{-\infty}^{+\infty} p_g(x) \, dx = 1 \; . \]
|
\part \label{manualpdf} Bestimme und plotte die
|
||||||
Warum muss das so sein?
|
Wahrscheinlichkeitsdichte dieser Zufallszahlen (das normierte
|
||||||
\part Welcher Anteil der Daten ist in den Intervallen $\pm2\sigma$ sowie $\pm3\sigma$
|
Histogramm). Lege dazu zun\"achst die Positionen der bins (Breite
|
||||||
enthalten?
|
von 0.5) in einem Vektor fest. Bestimme dann mit einer \code{for}
|
||||||
\part \label{givenfraction} Finde heraus in welchem Interval symmetrisch um den Mittelwert
|
Schleife f\"ur jedes dieser bins die Anzahl der Datenelemente, die
|
||||||
50\,\%, 90\,\%, 95\,\% bzw. 99\,\% der Daten enhalten sind.
|
in diese bin fallen. Normiere anschliessend das so erhaltene
|
||||||
\part Was passiert mit der Wahrscheinlichkeit eine Zahl in einem bestimmten Interval
|
Histogram und plotte es mit der \code{bar()} Funktion.
|
||||||
zu ziehen, wenn dieses Intervall immer kleiner wird?\\
|
|
||||||
Schreibe ein Programm, das dies illustriert.\\
|
\part \label{gaussianpdf} Plotte zum Vergleich in den gleichen Plot
|
||||||
Wie gro{\ss} ist die Wahrscheinlichkeit $P(x_i=0.1234)$?
|
die Normalverteilung
|
||||||
\part \extra Modifiziere den Code der Teilaufgaben \pref{onesigma}
|
\[ p_g(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2} \; . \]
|
||||||
-- \pref{givenfraction} so, dass er f\"ur Datens\"atze mit
|
|
||||||
beliebigen Mittelwerten und Standardabweichungen funktioniert.\\
|
\part Plotte die Wahrscheinlichkeitsdichte der Daten wie in
|
||||||
Teste den Code mit entsprechenden Zufallszahlen.\\
|
(\ref{manualpdf}) und (\ref{gaussianpdf}), aber mit Hilfe der
|
||||||
Wie bekommt man mit \code{randn} Zufallszahlen mit beliebiger
|
\code{hist()} Funktion.
|
||||||
Standardabweichung und Mittelwerten?
|
|
||||||
\end{parts}
|
\end{parts}
|
||||||
\begin{solution}
|
\begin{solution}
|
||||||
\lstinputlisting{normprobs.m}
|
\lstinputlisting{normhist.m}
|
||||||
\includegraphics[width=1\textwidth]{normprobs}
|
\includegraphics[width=1\textwidth]{normhist}
|
||||||
\end{solution}
|
\end{solution}
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,6 +87,46 @@ jan.benda@uni-tuebingen.de}
|
|||||||
|
|
||||||
\begin{questions}
|
\begin{questions}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\question \qt{Wahrscheinlichkeiten der Normalverteilung}
|
||||||
|
Mit den folgenden Aufgaben wollen wir bestimmen, welcher Anteil eines
|
||||||
|
normalverteilten Datensatzes in bestimmten Grenzen symmetrisch um den
|
||||||
|
Mittelwert enthalten ist.
|
||||||
|
\begin{parts}
|
||||||
|
\part Erzeuge einen Datensatz $X = (x_1, x_2, ... x_n)$ aus
|
||||||
|
$n=10000$ normalverteilten Zufallszahlen mit Mittelwert $\mu=0$ und
|
||||||
|
Standardabweichung $\sigma=1$ (\code{randn() Funktion}).
|
||||||
|
\part Bestimme und plotte die Wahrscheinlichkeitsdichte dieser Zufallszahlen (normiertes Histogramm).
|
||||||
|
\part Plotte zum Vergleich in den gleichen Plot die Normalverteilung
|
||||||
|
\[ p_g(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2} \; . \]
|
||||||
|
\part \label{onesigma} Wieviele dieser Daten sind maximal eine Standardabweichung vom Mittelwert entfernt?\\
|
||||||
|
D.h. wieviele Datenwerte $x_i$ haben den Wert $-\sigma < x_i < +\sigma$?\\
|
||||||
|
Wie gro{\ss} ist also die Wahrscheinlichkeit $P_{\pm\sigma}$ einen
|
||||||
|
Wert in diesem Interval zu erhalten?
|
||||||
|
\part \label{probintegral} Berechne numerisch diese
|
||||||
|
Wahrscheinlichkeit aus dem entsprechenden Integral
|
||||||
|
\[ P_{\pm\sigma}=\int_{x=\mu-\sigma}^{x=\mu+\sigma} p_g(x) \, dx \]
|
||||||
|
\"uber die Normalverteilung.
|
||||||
|
\"Uberpr\"ufe zuerst, ob tats\"achlich
|
||||||
|
\[ \int_{-\infty}^{+\infty} p_g(x) \, dx = 1 \; . \]
|
||||||
|
Warum muss das so sein?
|
||||||
|
\part Welcher Anteil der Daten ist in den Intervallen $\pm2\sigma$ sowie $\pm3\sigma$
|
||||||
|
enthalten?
|
||||||
|
\part \label{givenfraction} Finde heraus in welchem Interval symmetrisch um den Mittelwert
|
||||||
|
50\,\%, 90\,\%, 95\,\% bzw. 99\,\% der Daten enhalten sind.
|
||||||
|
\part \extra Modifiziere den Code der Teilaufgaben \pref{onesigma}
|
||||||
|
-- \pref{givenfraction} so, dass er f\"ur Datens\"atze mit
|
||||||
|
beliebigen Mittelwerten und Standardabweichungen funktioniert.\\
|
||||||
|
Teste den Code mit entsprechenden Zufallszahlen.\\
|
||||||
|
Wie bekommt man mit \code{randn()} Zufallszahlen mit beliebiger
|
||||||
|
Standardabweichung und Mittelwerten?
|
||||||
|
\end{parts}
|
||||||
|
\begin{solution}
|
||||||
|
\lstinputlisting{normprobs.m}
|
||||||
|
\end{solution}
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\question \qt{Zentraler Grenzwertsatz}
|
\question \qt{Zentraler Grenzwertsatz}
|
||||||
Der Zentrale Grenzwertsatz besagt, dass die Summe von unabh\"angigen
|
Der Zentrale Grenzwertsatz besagt, dass die Summe von unabh\"angigen
|
||||||
und identisch verteilten (i.i.d. = independent and identically
|
und identisch verteilten (i.i.d. = independent and identically
|
||||||
@ -129,6 +169,7 @@ Den Zentralen Grenzwertsatz wollen wir uns im Folgenden veranschaulichen.
|
|||||||
\end{solution}
|
\end{solution}
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\question \qt{Random Walk}
|
\question \qt{Random Walk}
|
||||||
Im folgenden wollen wir einige Eigenschaften des Random Walks bestimmen.
|
Im folgenden wollen wir einige Eigenschaften des Random Walks bestimmen.
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
@ -158,6 +199,7 @@ Im folgenden wollen wir einige Eigenschaften des Random Walks bestimmen.
|
|||||||
\end{solution}
|
\end{solution}
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\question \qt{\extra 2D Random Walk}
|
\question \qt{\extra 2D Random Walk}
|
||||||
Bisher hat sich unser Random Walker nur in einer Dimension bewegt
|
Bisher hat sich unser Random Walker nur in einer Dimension bewegt
|
||||||
(nur vorw\"arts oder r\"uckw\"arts). Er kann aber auch in mehreren Dimensionen laufen!\\
|
(nur vorw\"arts oder r\"uckw\"arts). Er kann aber auch in mehreren Dimensionen laufen!\\
|
||||||
|
@ -4,38 +4,3 @@
|
|||||||
{\large Jan Grewe, Jan Benda}\\[-3ex]
|
{\large Jan Grewe, Jan Benda}\\[-3ex]
|
||||||
Abteilung Neuroethologie \hfill --- \hfill Institut f\"ur Neurobiologie \hfill --- \hfill \includegraphics[width=0.28\textwidth]{UT_WBMW_Black_RGB} \\
|
Abteilung Neuroethologie \hfill --- \hfill Institut f\"ur Neurobiologie \hfill --- \hfill \includegraphics[width=0.28\textwidth]{UT_WBMW_Black_RGB} \\
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\ifprintanswers%
|
|
||||||
\else
|
|
||||||
|
|
||||||
% Die folgenden Aufgaben dienen der Wiederholung, \"Ubung und
|
|
||||||
% Selbstkontrolle und sollten eigenst\"andig bearbeitet und gel\"ost
|
|
||||||
% werden. Die L\"osung soll in Form eines einzelnen Skriptes (m-files)
|
|
||||||
% im ILIAS hochgeladen werden. Jede Aufgabe sollte in einer eigenen
|
|
||||||
% ``Zelle'' gel\"ost sein. Die Zellen \textbf{m\"ussen} unabh\"angig
|
|
||||||
% voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:
|
|
||||||
% ``variablen\_datentypen\_\{nachname\}.m'' benannt werden
|
|
||||||
% (z.B. variablen\_datentypen\_mueller.m).
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item \"Uberzeuge dich von jeder einzelnen Zeile deines Codes, dass
|
|
||||||
sie auch wirklich das macht, was sie machen soll! Teste dies mit
|
|
||||||
kleinen Beispielen direkt in der Kommandozeile.
|
|
||||||
\item Versuche die L\"osungen der Aufgaben m\"oglichst in
|
|
||||||
sinnvolle kleine Funktionen herunterzubrechen.
|
|
||||||
Sobald etwas \"ahnliches mehr als einmal berechnet werden soll,
|
|
||||||
lohnt es sich eine Funktion daraus zu schreiben!
|
|
||||||
\item Teste rechenintensive \code{for} Schleifen, Vektoren, Matrizen
|
|
||||||
zuerst mit einer kleinen Anzahl von Wiederholungen oder kleiner
|
|
||||||
Gr\"o{\ss}e, und benutze erst am Ende, wenn alles \"uberpr\"uft
|
|
||||||
ist, eine gro{\ss}e Anzahl von Wiederholungen oder Elementen, um eine gute
|
|
||||||
Statistik zu bekommen.
|
|
||||||
\item Benutze die Hilfsfunktion von \code{matlab} (\code{help
|
|
||||||
commando} oder \code{doc commando}) und das Internet, um
|
|
||||||
herauszufinden, wie bestimmte \code{matlab} Funktionen zu verwenden
|
|
||||||
sind und was f\"ur M\"oglichkeiten sie bieten.
|
|
||||||
Auch zu inhaltlichen Konzepten bietet das Internet oft viele
|
|
||||||
Antworten!
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\fi
|
|
||||||
|
58
statistics/exercises/normhist.m
Normal file
58
statistics/exercises/normhist.m
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
%% a) 1000 normal distributed random numbers:
|
||||||
|
x = randn(1000, 1);
|
||||||
|
|
||||||
|
%% b) probability of 0<=x<0.5:
|
||||||
|
n = sum(x>=0.0 & x<0.5);
|
||||||
|
P = n/length(x);
|
||||||
|
fprintf('probability 0<=x<0.5 is %g\n', P);
|
||||||
|
|
||||||
|
%% c) probability for decreasing intervals:
|
||||||
|
upper = [0.0:0.01:4.0];
|
||||||
|
P = zeros(length(upper), 1);
|
||||||
|
for k=1:length(upper)
|
||||||
|
P(k) = sum((x>=0) & (x<upper(k)))/length(x);
|
||||||
|
end
|
||||||
|
subplot(1, 2, 1);
|
||||||
|
plot(upper, P, 'linewidth', 2);
|
||||||
|
ylim([0 0.5]);
|
||||||
|
xlabel('x_{upper}');
|
||||||
|
ylabel('P(0<=x<x_{upper})');
|
||||||
|
|
||||||
|
%% d) histogram with for loop:
|
||||||
|
x = randn(1000, 1);
|
||||||
|
bw = 0.5;
|
||||||
|
bins=[-5:bw:5];
|
||||||
|
n = zeros(length(bins), 1);
|
||||||
|
for k=1:length(bins)
|
||||||
|
n(k) = sum((x>=bins(k)-bw/2) & (x<bins(k)+bw/2));
|
||||||
|
end
|
||||||
|
p = n/sum(n)/bw;
|
||||||
|
subplot(1, 2, 2);
|
||||||
|
bar(bins, p);
|
||||||
|
|
||||||
|
%% e) gaussian pdf:
|
||||||
|
hold on;
|
||||||
|
xx = [bins(1):0.01:bins(end)];
|
||||||
|
gauss = exp(-0.5*xx.^2.0)/sqrt(2*pi);
|
||||||
|
plot(xx, gauss, 'r', 'linewidth', 2);
|
||||||
|
hold off;
|
||||||
|
xlim([-5 5])
|
||||||
|
xlabel('x');
|
||||||
|
ylabel('p(x)');
|
||||||
|
|
||||||
|
%% f) hist
|
||||||
|
x = randn(1000, 1);
|
||||||
|
bw = 0.5;
|
||||||
|
bins=[-5:bw:5];
|
||||||
|
n = hist(x, bins);
|
||||||
|
p = n/sum(n)/bw;
|
||||||
|
subplot(1, 2, 2);
|
||||||
|
bar(bins, p);
|
||||||
|
hold on;
|
||||||
|
plot(xx, gauss, 'r', 'linewidth', 2);
|
||||||
|
hold off;
|
||||||
|
xlim([-5 5])
|
||||||
|
xlabel('x');
|
||||||
|
ylabel('p(x)');
|
||||||
|
|
||||||
|
savefigpdf(gcf, 'normhist.pdf', 14, 6);
|
BIN
statistics/exercises/normhist.pdf
Normal file
BIN
statistics/exercises/normhist.pdf
Normal file
Binary file not shown.
@ -24,23 +24,3 @@ P = sum(pg((xx>=-2.0)&(xx<=2.0)))*dx;
|
|||||||
fprintf( 'Integral over the Gaussian pdf from -2 to 2 is %.4f\n', P );
|
fprintf( 'Integral over the Gaussian pdf from -2 to 2 is %.4f\n', P );
|
||||||
P = sum(pg((xx>=-3.0)&(xx<=3.0)))*dx;
|
P = sum(pg((xx>=-3.0)&(xx<=3.0)))*dx;
|
||||||
fprintf( 'Integral over the Gaussian pdf from -3 to 3 is %.4f\n\n', P );
|
fprintf( 'Integral over the Gaussian pdf from -3 to 3 is %.4f\n\n', P );
|
||||||
|
|
||||||
%% (e) probability of small ranges
|
|
||||||
nr = 50;
|
|
||||||
xmax = 3.0
|
|
||||||
xs = zeros(nr, 1); % size of integration interval
|
|
||||||
Ps = zeros(nr, 1); % storage
|
|
||||||
for i = 1:nr
|
|
||||||
% upper limit goes from 4.0 down to 0.0:
|
|
||||||
xupper = xmax*(nr-i)/nr;
|
|
||||||
xs(i) = xupper;
|
|
||||||
% integral from 0 to xupper:
|
|
||||||
Ps(i) = sum(pg((xx>=0.0)&(xx<=xupper)))*dx;
|
|
||||||
end
|
|
||||||
plot( xs, Ps, 'linewidth', 3 )
|
|
||||||
xlim([0 xmax])
|
|
||||||
ylim([0 0.55])
|
|
||||||
xlabel('Integration interval')
|
|
||||||
ylabel('Probability')
|
|
||||||
fprintf('The probability P(0.1234) = %.4f\n\n', sum(x == 0.1234)/length(x) );
|
|
||||||
savefigpdf(gcf, 'normprobs.pdf', 12, 8);
|
|
||||||
|
Binary file not shown.
@ -1,4 +1,5 @@
|
|||||||
function x = rollthedie( n )
|
function x = rollthedie(n, m)
|
||||||
% return a vector with the result of rolling a die n times
|
% return a vector with the result of rolling a die
|
||||||
x = randi( [1, 6], n, 1 );
|
% with m eyes n times
|
||||||
|
x = randi( [1, m], n, 1 );
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user