## ## randomexponential.m ## Octave-Script zur Demonstration der Erzeugung exponential ## verteilter Zufallszahlen mit der Transformationsmethode ## ## Erstellt für die Veranstaltung "Statistik" am Fachbereich ## "Elektrotechnik und Informatik" der Hochschule Niederrhein, Krefeld ## ## Autor: Christoph Dalitz ## Datum: 20.10.2008 ## Lizenz: frei kopierbar unter der GNU General Public License Version 2 ## (siehe http://www.gnu.org/licenses/) ## Voraussetzung: ## Octave (frei erhältlich von http://www.octave.org/) ## ab Version 2.9 1; n = 5000; # Anzahl Zufallszahlen global lambda; lambda = 1; ## zu generierende Dichte function y = f(x) global lambda; y = (x>=0) .* (lambda*exp(-lambda*x)); endfunction ## inverse Verteilungsfunktion function x = Finv(y) global lambda; x = -log(1-y)/lambda; endfunction ## Erzeuge Zufallszahlen und zeichne Histogramm x = rand(1,n); y = Finv(x); xx = 0:0.1:6; newplot(); hold off; nbins = sqrt(n)/2; norm = nbins/(max(y)-min(y)); hist(y,nbins,norm); hold on; plot(xx,f(xx),"-1;wahre Dichte;");