intervall-enden. (bin size). die x-werte des histogramms...
Post on 22-Jul-2018
214 Views
Preview:
TRANSCRIPT
Aufgabe C 1. Gleichverteilte Zufallszahlen
Da N als Symbol in Mathematica schon belegt ist, nennen wir die Länge der Liste num.
In[6]:= num = 10000;list = RandomReal@1, numD;
i) Analytische Verteilung und kumulierte Verteilung (zur besseren Lesbarkeit verwende ich hier f und F, statt p und P)
f@x_D := If@0 < x < 1, 1, 0DF@x_D := Piecewise@880, x £ 0<, 8x, 0 < x £ 1<, 81, x > 1<<D
Verteilung und kumulierte Verteilung der Daten, d.h. Histogram und akkumuliertes Histogramm. dx ist die Intervallbreite(bin size). Die x-Werte des Histogramms entsprechen den Intervall-Mitten, beim akkumulierten Histogramm allerdings denIntervall-Enden.
dx = 0.02;h = BinCounts@list, 80, 1, dx<D �num �dx;xh = Table@i dx - dx�2, 8i, 1, 1�dx<D;Show@Plot@f@xD, 8x, 0, 1<, PlotRange ® 80, 1.4<D, ListPlot@Transpose@8xh, h<DDD
Out[45]=
0.0 0.2 0.4 0.6 0.8 1.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
In[49]:= H = Accumulate@hD dx;xH = Table@i dx, 8i, 1, 1�dx<D;Show@Plot@F@xD, 8x, 0, 1<, PlotRange ® 80, 1.1<D, ListPlot@Transpose@8xH, H<DDD
Out[51]=
0.0 0.2 0.4 0.6 0.8 1.0
0.2
0.4
0.6
0.8
1.0
ii) Autokorrelation
einfache und langsame Variante (langsam, da das Drop viel zu oft ausgeführt werden muss):
H* corr@list_,n_D:=
HMean@Drop@list,nD *Drop@list,-nDD - Mean@Drop@list,nDD*Mean@Drop@list,-nDDL�Sqrt@Mean@Drop@list,nD^2D-Mean@Drop@list,nDD^2D�Sqrt@Mean@Drop@list,-nD^2D-Mean@Drop@list,-nDD^2D *L
kürzer und effektiver:
In[72]:= corr@list_, n_D := Correlation@Drop@list, nD, Drop@list, -nDDListPlot@Table@8n, corr@list, nD<, 8n, 0, 100<D, PlotRange ® All, Joined ® TrueD
Out[73]=
20 40 60 80 100
0.2
0.4
0.6
0.8
1.0
iii) Streudiagramm gerader und ungerader Elemente der Zufallsliste
aus pädagogischen Gründen hier einmal mit Postfix-Notation:
2 Blatt1_Loesung.nb
In[76]:= 8Extract@list, Table@82 n - 1<, 8n, num �2 - 1<DD,Extract@list, Table@82 n<, 8n, num �2 - 1<DD< �� Transpose �� ListPlot
Out[76]=
0.2 0.4 0.6 0.8 1.0
0.2
0.4
0.6
0.8
1.0
alternativ:
In[78]:= ListPlot@Transpose@8Extract@list, Table@82 n - 1<, 8n, num �2 - 1<DD,Extract@list, Table@82 n<, 8n, num �2 - 1<DD< DD
Aufgabe C 2. Normalverteilte Zufallszahlen
i) Wenn F die kumulierte Verteilung ist, so muss man die Funktion gHxL = F-1HxL wählen.
Bei der Normalverteilung also gHxL = F-1HxL, wobei FHxL =1
2 Π
Ù-¥
xexpI-
12
x2M â x
In Mathematica kann man dafür die Funktion InverseErf verwenden.
ii) Transformieren der Zufallszahlen. Da es sich um eine Normalverteilung handelt, kann ich die standard-normalverteiltenZahlen einfach mit der gewünschten Standardabweichung multiplizieren, und danach den Mittelwert addieren.
In[79]:= Σ = 2; Μ = -1;xnormal = Sqrt@2D InverseErf@2 list - 1D * Σ + Μ;
zur Illustration hier einmal ein ListPlot der gaußverteilten Zufallszahlen:
Blatt1_Loesung.nb 3
In[82]:= ListPlot@xnormalD
Out[82]=2000 4000 6000 8000 10 000
-8
-6
-4
-2
2
4
6
Verteilung und kumulierte Verteilung der Daten, d.h. Histogram und akkumuliertes Histogramm. dx ist die Intervallbreite(bin size). Die x-Werte des Histogramms entsprechen den Intervall-Mitten, beim akkumulierten Histogramm allerdings denIntervall-Enden.
i) Analytische Verteilung und kumulierte Verteilung (zur besseren Lesbarkeit verwende ich hier f und F, statt p und P)
In[91]:= fn@x_, Μ_, Σ_D :=1
Σ 2 Π
ExpB-Hx - ΜL2
2 Σ2F
Fn@x_D :=1
2 1 + ErfB
x - Μ
Σ 2
F
In[126]:= dxn = 0.2;hn = BinCounts@ xnormal, 8- 4 Σ, 4 Σ, dxn<D �num �dxn;xhn = Table@- 4 Σ + i dxn - dxn�2, 8i, 1, Length@hnD<D;Show@Plot@fn@x, Μ, ΣD, 8x, - 4 Σ, 4 Σ<D, ListPlot@Transpose@8xhn, hn<DDD
Out[129]=
-5 5
0.05
0.10
0.15
0.20
4 Blatt1_Loesung.nb
In[136]:= Hn = Accumulate@hnD dxn;xHn = xhn + dxn�2;Show@Plot@Fn@xD, 8x, - 4 Σ, 4 Σ<D, ListPlot@Transpose@8xHn, Hn<DDD
Out[138]=
-5 5
0.2
0.4
0.6
0.8
1.0
iii) Streudiagramm gerader und ungerader Elemente der Zufallsliste
In[144]:= ListPlot@Transpose@8Extract@xnormal, Table@82 n - 1<, 8n, num �2 - 1<DD,Extract@xnormal, Table@82 n<, 8n, num �2 - 1<DD< D, AspectRatio ® 1D
Out[144]=
-8 -6 -4 -2 2 4 6
-8
-6
-4
-2
2
4
Blatt1_Loesung.nb 5
top related