new statistics exercises
This commit is contained in:
parent
0e1aa7814d
commit
d717b43630
@ -98,8 +98,8 @@ jan.benda@uni-tuebingen.de}
|
||||
Mit den folgenden Aufgaben wollen wir die Statistik der Spiketrains
|
||||
der drei Neurone miteinander vergleichen.
|
||||
\begin{parts}
|
||||
\part Lade die Spiketrains aus den drei Dateien. Achte darauf, dass sie verschiedene
|
||||
Variablen\-namen bekommen.
|
||||
\part Lade die Spiketrains aus den drei Dateien. Achte darauf,
|
||||
dass sie verschiedene Variablen\-namen bekommen.
|
||||
\begin{solution}
|
||||
\begin{lstlisting}
|
||||
clear all
|
||||
|
@ -3,36 +3,36 @@ n = 10000;
|
||||
m = 10; % number of loops
|
||||
|
||||
%% (b) a single data set of random numbers:
|
||||
x = rand( n, 1 );
|
||||
x = rand(n, 1);
|
||||
|
||||
%% (c) plot probability density:
|
||||
%histogram( x, 'Normalization', 'pdf' );
|
||||
[h,b] = hist( x, 20 );
|
||||
%histogram(x, 'Normalization', 'pdf');
|
||||
[h,b] = hist(x, 20);
|
||||
h = h/sum(h)/(b(2)-b(1)); % normalization
|
||||
bar(b, h)
|
||||
title('A uniform distribution')
|
||||
xlabel('x')
|
||||
ylabel('probability density')
|
||||
pause( 2.0 )
|
||||
pause(2.0)
|
||||
|
||||
%% (d) sum of two random numbers:
|
||||
y = rand( n, 1 );
|
||||
y = rand(n, 1);
|
||||
x = x + y;
|
||||
%histogram( x, 'Normalization', 'pdf' );
|
||||
[h,b] = hist( x, 20 );
|
||||
%histogram(x, 'Normalization', 'pdf');
|
||||
[h,b] = hist(x, 20);
|
||||
h = h/sum(h)/(b(2)-b(1)); % normalization
|
||||
bar(b, h)
|
||||
title('Sum of two uniform distributions')
|
||||
xlabel('x')
|
||||
ylabel('probability density')
|
||||
pause( 2.0 )
|
||||
pause(2.0)
|
||||
|
||||
%% (f) sum up more distributions:
|
||||
x = zeros( n, 1 );
|
||||
means = zeros( m, 1 );
|
||||
stds = zeros( m, 1 );
|
||||
x = zeros(n, 1);
|
||||
means = zeros(m, 1);
|
||||
stds = zeros(m, 1);
|
||||
for i=1:m
|
||||
y = rand( n, 1 ); % new uniform distributed numbers
|
||||
y = rand(n, 1); % new uniform distributed numbers
|
||||
x = x + y; % add them to the sum
|
||||
mu = mean(x); % compute mean
|
||||
sd = std(x); % compute standard deviation
|
||||
@ -42,34 +42,34 @@ for i=1:m
|
||||
xx = -1:0.01:i+1; % x-axis values for plot of pdf
|
||||
p = exp(-0.5*(xx-mu).^2/sd^2)/sqrt(2*pi*sd^2); % pdf
|
||||
plot(xx, p, 'r', 'linewidth', 3 )
|
||||
ns = sprintf( 'N=%d', i );
|
||||
text( 0.1, 0.9, ns, 'units', 'normalized' )
|
||||
ns = sprintf('N=%d', i);
|
||||
text(0.1, 0.9, ns, 'units', 'normalized')
|
||||
hold on
|
||||
%histogram( x, 20, 'Normalization', 'pdf' );
|
||||
[h,b] = hist( x, 20 );
|
||||
%histogram(x, 20, 'Normalization', 'pdf');
|
||||
[h,b] = hist(x, 20);
|
||||
h = h/sum(h)/(b(2)-b(1)); % normalization
|
||||
bar(b, h)
|
||||
hold off
|
||||
xlim([-0.5, i+0.5])
|
||||
xlabel( 'x' )
|
||||
ylabel( 'summed pdf' )
|
||||
savefigpdf( gcf, sprintf('centrallimit-hist%02d.pdf', i), 6, 5 );
|
||||
xlabel('x')
|
||||
ylabel('summed pdf')
|
||||
savefigpdf(gcf, sprintf('centrallimit-hist%02d.pdf', i), 6, 5);
|
||||
if i < 6
|
||||
pause( 3.0 )
|
||||
pause(3.0)
|
||||
end
|
||||
end
|
||||
|
||||
%% (h) mean and standard deviation in dependence on number of summed up distributions:
|
||||
nx = 1:m;
|
||||
plot( nx, means, 'b', 'linewidth', 4 );
|
||||
plot(nx, means, 'b', 'linewidth', 4);
|
||||
hold on
|
||||
plot( nx, stds, 'r', 'linewidth', 4 );
|
||||
plot(nx, stds, 'r', 'linewidth', 4);
|
||||
xx = 0:0.01:m;
|
||||
sdu = 1.0/sqrt(12); % standarad deviation of the uniform distribution
|
||||
plot( xx, sqrt(xx)*sdu, 'k' )
|
||||
legend( 'mean', 'std', 'theory' )
|
||||
legend('mean', 'std', 'theory')
|
||||
xlabel('N')
|
||||
hold off
|
||||
savefigpdf( gcf, 'centrallimit-samples.pdf', 6, 5 );
|
||||
savefigpdf(gcf, 'centrallimit-samples.pdf', 6, 5);
|
||||
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
\else
|
||||
\newcommand{\stitle}{}
|
||||
\fi
|
||||
\header{{\bfseries\large \"Ubung 6X\stitle}}{{\bfseries\large Statistik}}{{\bfseries\large 22. November, 2016}}
|
||||
\header{{\bfseries\large \"Ubung 7\stitle}}{{\bfseries\large Statistik}}{{\bfseries\large 29. November, 2016}}
|
||||
\firstpagefooter{Prof. Dr. Jan Benda}{Phone: 29 74573}{Email:
|
||||
jan.benda@uni-tuebingen.de}
|
||||
\runningfooter{}{\thepage}{}
|
||||
@ -78,6 +78,8 @@ jan.benda@uni-tuebingen.de}
|
||||
\newcommand{\extra}{--- Zusatzaufgabe ---\ \mbox{}}
|
||||
\newcommand{\code}[1]{\texttt{#1}}
|
||||
|
||||
\graphicspath{{../../pointprocesses/exercises/}}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\begin{document}
|
||||
@ -96,13 +98,16 @@ Mittelwert enthalten ist.
|
||||
\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
|
||||
\part Bestimme und plotte die Wahrscheinlichkeitsdichte dieser
|
||||
Zufallszahlen (normiertes Histogramm) und 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?\\
|
||||
|
||||
\part \label{onesigma} Wieviele dieser Daten $X$ 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
|
||||
Wie gro{\ss} ist dann 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 \]
|
||||
@ -110,16 +115,24 @@ Mittelwert enthalten ist.
|
||||
\"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?
|
||||
|
||||
\part Welcher Anteil der Daten ist in den Intervallen $\pm 2\sigma$
|
||||
sowie $\pm 3\sigma$ enthalten?
|
||||
|
||||
Vergleiche die Ergebnisse jeweils mit dem entsprechenden Integral
|
||||
\"uber die Wahrscheinlichkeitsdichte.
|
||||
|
||||
\part \label{givenfraction} Finde durch numerische Integration der
|
||||
Wahrscheinlichkeitsdichte 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}
|
||||
@ -134,30 +147,40 @@ distributed) Zufallsvariablen gegen die Normalverteilung konvergiert.
|
||||
|
||||
Den Zentralen Grenzwertsatz wollen wir uns im Folgenden veranschaulichen.
|
||||
\begin{parts}
|
||||
\part Versuche dir klar zu machen, was der Zentrale Grenzwertsatz
|
||||
bedeutet, und wie du vorgehen k\"onntest ein Programm zu
|
||||
schreiben, das den Grenzwertsatz illustriert.
|
||||
\part Bevor du die weiteren Teilaufgaben liest, versuche dir klar zu
|
||||
machen, was der Zentrale Grenzwertsatz bedeutet, und wie du vorgehen
|
||||
k\"onntest ein Programm zu schreiben, das den Grenzwertsatz
|
||||
illustriert.
|
||||
|
||||
\part Erzeuge 10000 zwischen 0 und 1 gleichverteilte Zufallszahlen
|
||||
(Funktion \code{rand}).
|
||||
|
||||
\part Plotte deren Wahrscheinlichkeitsdichte (normiertes Histogram).
|
||||
|
||||
\part Erzeuge weitere 10000 gleichverteilte Zufallszahlen und
|
||||
addiere diese zu den bereits vorhandenen auf.
|
||||
|
||||
\part Plotte die Wahrscheinlichkeitsdichte der aufsummierten
|
||||
Zufallszahlen.
|
||||
|
||||
\part Wiederhole Schritt (d) und (e) viele Male.
|
||||
|
||||
\part Vergleiche in einer Grafik die Wahrscheinlichkeitsdichte der
|
||||
aufsummierten Zufallszahlen mit der Gaussfunktion
|
||||
\[ p_g(x) =
|
||||
\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2}\]
|
||||
mit dem Mittelwert $\mu$ und der Standardabweichung $\sigma$ der
|
||||
aufsummierten Zufallszahlen.
|
||||
|
||||
\part Wie \"andert sich der Mittelwert und die
|
||||
Standardabweichung/Varianz
|
||||
der aufsummierten Zufallszahlen?\\
|
||||
der aufsummierten Zufallszahlen?
|
||||
|
||||
Wie h\"angen diese mit den Werten der urspr\"unglichen Verteilung
|
||||
zusammen?
|
||||
\part \extra \"Uberpr\"ufe den Grenzwertsatz in gleicher Weise mit exponentiell
|
||||
verteilten Zufallszahlen (Funktion \code{rande}).
|
||||
|
||||
\part \extra \"Uberpr\"ufe den Grenzwertsatz in gleicher Weise mit
|
||||
exponentiell verteilten Zufallszahlen (Funktion \code{rande}).
|
||||
\end{parts}
|
||||
\begin{solution}
|
||||
\lstinputlisting{centrallimit.m}
|
||||
@ -169,56 +192,81 @@ Den Zentralen Grenzwertsatz wollen wir uns im Folgenden veranschaulichen.
|
||||
\end{solution}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\question \qt{Random Walk}
|
||||
Im folgenden wollen wir einige Eigenschaften des Random Walks bestimmen.
|
||||
\begin{parts}
|
||||
\part Schreibe eine Funktion, die einen einzelnen Random Walk mit
|
||||
Startwert 0 f\"ur $n$ Schritte und Wahrscheinlichkeit $p$ f\"ur
|
||||
einen positiven Schritt als Vektor zur\"uckgibt.
|
||||
\part Visualisiere jeweils 10 Random Walks mit $p=0.5$ zusammen in einem Plot
|
||||
f\"ur $n=100$, $n=1000$ und $n=10000$ (drei Plots).\\
|
||||
Sch\"atze aus den Abbildungen ab, wie sich der Mittelwert und die Standardabweichung
|
||||
des Random Walks mit der Zeit (Schritte) sich entwickelt.
|
||||
\part \"Uberpr\"uefe deine Hypothese zum Mittelwert und zur
|
||||
Standardabweichung, indem du von $m$ Random Walks ($m \ge 10$) f\"ur
|
||||
jeden z.B. zehnten Schritt den Mittelwert und die Standardabweichung
|
||||
\"uber die Positionen der $m$ Random Walks berechnest.\\
|
||||
Wie h\"angt also die Standardabweichung von der Anzahl der Schritte
|
||||
ab? Wie entwickelt sich die Standardabweichung f\"ur eine sehr
|
||||
gro{\ss}e Anzahl von Schritten?
|
||||
\part \extra Erstelle eine Grafik, die die Verteilung der Position eines Random Walkers
|
||||
zu drei verschiedenen Zeitpunkten zeigt.
|
||||
\end{parts}
|
||||
\begin{solution}
|
||||
\lstinputlisting{randomwalk.m}
|
||||
\lstinputlisting{randomwalkstatistics.m}
|
||||
\includegraphics[width=0.8\textwidth]{randomwalk-traces}\\
|
||||
\includegraphics[width=0.5\textwidth]{randomwalk-stdev}
|
||||
\includegraphics[width=0.5\textwidth]{randomwalk-hists}
|
||||
\end{solution}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\question \qt{Intervallstatistik von Spiketrains}
|
||||
In Ilias findet ihr die Dateien \code{poisson.mat},
|
||||
\code{pifou.mat}, und \code{lifadapt.mat}. Jede dieser Dateien
|
||||
enth\"alt mehrere Trials von Spiketrains von einer bestimmten Art
|
||||
von Neuron. Die Spikezeiten sind in Sekunden gemessen.
|
||||
|
||||
Mit den folgenden Aufgaben wollen wir die Intervallstatistik der
|
||||
Spiketrains der drei Neurone miteinander vergleichen.
|
||||
\begin{parts}
|
||||
\part Lade die Spiketrains aus den drei Dateien. Achte darauf,
|
||||
dass sie verschiedene Variablen\-namen bekommen.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\question \qt{\extra 2D Random Walk}
|
||||
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!\\
|
||||
In zwei Dimensionen wird dazu in jedem Schritt eine weitere
|
||||
Zufallszahl gezogen, die bestimmt ob er einen Schritt nach links oder
|
||||
rechts gemacht hat. Die Bewegung nach vorne/hinten bzw. links/rechts
|
||||
sind unabh\"angig voneinander.
|
||||
\begin{parts}
|
||||
\part Wie kann unter Verwendung unserer Funktion f\"ur den
|
||||
eindimensionalen Random Walk ein zweidimensionaler Random Walk
|
||||
simuliert werden?
|
||||
\part Erstelle h\"ubsche Bilder, die zweidimensionalen Random
|
||||
Walks verschiedener L\"ange (bis zu mindestens $n=1000000$) illustrieren.
|
||||
\part Animationen sind auch sch\"on! z.B. mit dem \code{pause} Befehl.
|
||||
\part Anstatt einfach den Weg des Random Walks zu zeichnen, kann man
|
||||
sich auch merken, wie oft er an jeder Stelle vorbeigekommen ist und
|
||||
mit einem Farbcode plotten.
|
||||
\end{parts}
|
||||
In welchem Datentyp liegen die Daten vor? Wie kann auf einzelne
|
||||
Spiketrains zugegriffen werden? Wie auf einzelne Spikezeiten?
|
||||
\begin{solution}
|
||||
\begin{lstlisting}
|
||||
clear all
|
||||
% not so good:
|
||||
load poisson.mat
|
||||
whos
|
||||
poissonspikes = spikes;
|
||||
load pifou.mat;
|
||||
pifouspikes = spikes;
|
||||
load lifadapt.mat;
|
||||
lifadaptspikes = spikes;
|
||||
clear spikes;
|
||||
% better:
|
||||
clear all
|
||||
x = load( 'poisson.mat' );
|
||||
poissonspikes = x.spikes;
|
||||
x = load( pifou.mat' );
|
||||
pifouspikes = x.spikes;
|
||||
x = load( 'lifadapt.mat' );
|
||||
lifadaptspikes = x.spikes;
|
||||
\end{lstlisting}
|
||||
\end{solution}
|
||||
|
||||
\part Schreibe eine Funktion, die die Spikezeiten der ersten
|
||||
$t_{max}$ Sekunden in einem Rasterplot visualisiert. In jeder
|
||||
Zeile des Rasterplots wird ein Spiketrain dargestellt. Jeder
|
||||
einzelne Spike wird als senkrechte Linie zu der Zeit des
|
||||
Auftretens des Spikes geplottet. Benutze die Funktion, um die
|
||||
Spikeraster der ersten 1\,s der drei Neurone nebeneinander zu plotten.
|
||||
\begin{solution}
|
||||
\lstinputlisting{../../pointprocesses/code/spikeraster.m}
|
||||
\lstinputlisting{../../pointprocesses/code/plotspikeraster.m}
|
||||
\mbox{}\\[-3ex]
|
||||
\colorbox{white}{\includegraphics[width=1\textwidth]{spikeraster}}
|
||||
\end{solution}
|
||||
|
||||
\part Schreibe eine Funktion, die einen einzigen Vektor mit den
|
||||
Interspikeintervallen aller Trials von Spikezeiten zur\"uckgibt.
|
||||
\begin{solution}
|
||||
\lstinputlisting{../../pointprocesses/code/isis.m}
|
||||
\end{solution}
|
||||
|
||||
\part Schreibe eine Funktion, die ein normiertes Histogramm aus
|
||||
einem Vektor von Interspikeintervallen, gegeben in Sekunden,
|
||||
berechnet und dieses mit richtiger Achsenbeschriftung plottet.
|
||||
Die Interspikeintervalle sollen dabei in Millisekunden angegeben
|
||||
werden. Die Funktion soll zus\"atzlich den Mittelwert, die
|
||||
Standardabweichung, und den Variationskoeffizienten der
|
||||
Interspikeintervalle berechnen und diese im Plot mit angeben.
|
||||
|
||||
Benutze die vorherige und diese Funktion, um die
|
||||
Interspikeintervall Verteilung der drei Neurone zu vergleichen.
|
||||
\begin{solution}
|
||||
\lstinputlisting{../../pointprocesses/code/isihist.m}
|
||||
\lstinputlisting{../../pointprocesses/code/plotisih.m}
|
||||
\mbox{}\\[-3ex]
|
||||
\colorbox{white}{\includegraphics[width=1\textwidth]{isihist}}
|
||||
\end{solution}
|
||||
\end{parts}
|
||||
|
||||
\end{questions}
|
||||
|
||||
\end{document}
|
||||
\end{document}
|
||||
|
@ -1,14 +1,30 @@
|
||||
%% (a) generate normal distributed random numbers:
|
||||
n = 10000;
|
||||
x = randn( n, 1 );
|
||||
x = randn(n, 1);
|
||||
|
||||
%% (b)
|
||||
%% (b) plot histogram and compare with pdf:
|
||||
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;
|
||||
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)');
|
||||
|
||||
%% (c) fraction of data in +/- 1 sigma:
|
||||
nsig = sum((x>=-1.0)&(x<=1.0));
|
||||
Psig = nsig/length(x);
|
||||
fprintf('%d of %d data elements, i.e. %.2f%% are contained in the interval -1 to +1\n\n', ...
|
||||
nsig, length(x), 100.0*Psig );
|
||||
|
||||
%% (c)
|
||||
%% (d) intgegral over pdf:
|
||||
dx = 0.01;
|
||||
xx = -10:dx:10; % x-values
|
||||
pg = exp(-0.5*xx.^2)/sqrt(2*pi); % y-values Gaussian pdf
|
||||
@ -17,10 +33,25 @@ P = sum(pg)*dx;
|
||||
fprintf( 'Integral over the Gaussian pdf is %.3f\n', P );
|
||||
% integral from -1 to 1:
|
||||
P = sum(pg((xx>=-1.0)&(xx<=1.0)))*dx; % we need to use xx, not the random numbers x!
|
||||
fprintf( 'Integral over the Gaussian pdf from -1 to 1 is %.4f\n', P );
|
||||
fprintf( 'Integral over the Gaussian pdf from -1 to 1 is %.4f\n\n', P );
|
||||
|
||||
%% (e)
|
||||
for sigma = [1.0, 2.0, 3.0]
|
||||
Pdata = sum((x>=-sigma)&(x<=sigma))/length(x);
|
||||
Ppdf = sum(pg((xx>=-sigma)&(xx<=sigma)))*dx;
|
||||
fprintf( 'Integral over the Gaussian pdf from -%.0f to +%.0f is %.4f\n', sigma, sigma, Ppdf );
|
||||
fprintf( 'Probability of data in range from -%.0f to +%.0f is %.4f\n\n', sigma, sigma, Pdata );
|
||||
end
|
||||
|
||||
%% (f)
|
||||
for P = [0.5, 0.9, 0.95, 0.99]
|
||||
for upper = xx(xx>0.0)
|
||||
Ppdf = sum(pg((xx>=-upper)&(xx<=upper)))*dx;
|
||||
if Ppdf > P
|
||||
fprintf('-%.2f < x < +%.2f: P=%.2f\n', upper, upper, P);
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
%% (d)
|
||||
P = sum(pg((xx>=-2.0)&(xx<=2.0)))*dx;
|
||||
fprintf( 'Integral over the Gaussian pdf from -2 to 2 is %.4f\n', P );
|
||||
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 );
|
||||
|
Reference in New Issue
Block a user