'Making a histogram out of values from a table
I have defined a Mixed distribution made out of two Normal Distributions, like this
MixDist[s_,n_]:=With[{Dist=MixtureDistribution[{.5,.5},{NormalDistribution[0,s],Normaldistribution[0.5s,s]}]},RandomVariate[Dist,n]]
For example, MixDist[1,1000] should generate 1000 numbers distributed with a mixed distribution made out of NormalDistribution1[0,1] and NormalDistribution2[0.5,1]. Now, I want to run this generator 100 times, and this is where I am stuck.
I tried doing this
dist1=Table[MixDist[1,1000],100]
to generate a table with 100 sets of 1000 random numbers, but when trying to plot a histogram with
histogram=Histogram[dist1,20,"ProbabilityDensity"]
it shows a blank coordinate system.
Can data from a table be included in a histogram? Or is there another way to do this (make a histogram of 100 sets of 1000 randomly generated numbers from the mixed distribution mentioned above).
Thank you!
Solution 1:[1]
Short answer
mixDist[s_, n_] := With[{
dist = MixtureDistribution[
{.5, .5},
{NormalDistribution[0, s], NormalDistribution[0.5 s, s]}
]
},
RandomVariate[dist, n]
]
dist1 = Table[mixDist[1, 1000], 100];
histogram = Histogram[dist1, 20, "ProbabilityDensity"]
Details
- The only mistake was that the second
NormalDistributionwas written asNormaldistribution - Improved code style. I am convinced that user-defined variables should start with a lowercase letter to be distinguishable from the system ones.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Alexander Kazantsev |
