wolfram-mathematicawolframalphamathematica-8wolfram-language

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

  • 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