用表格中的值制作直方图



我定义了一个由两个正态分布组成的混合分布,像这样

MixDist [s_, n_]: =与[{Dist = MixtureDistribution [{5, 5}, {NormalDistribution [0 s], NormalDistribution [0.5 s, s]}]}, RandomVariate[经销,n]]

例如,MixDist[1,1000]应该生成1000个数字,分布在由NormalDistribution1[0,1]和NormalDistribution2[0.5,1]组成的混合分布中。现在,我想运行这个生成器100次,这就是我卡住的地方。

I tried doing this

dist1 =表[MixDist [1000], 100]

生成一个包含100组1000个随机数的表,但是当尝试使用

绘制直方图时

=直方图直方图(dist1 20"ProbabilityDensity"

显示空白坐标系

表中的数据可以包含在直方图中吗?或者是否有其他方法可以做到这一点(从上述混合分布中随机生成1000个数字的100组直方图)。

谢谢!

简短回答

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"]
<标题>详细信息
  • 唯一的错误是第二个NormalDistribution被写成了Normaldistribution
  • 改进的代码样式。我确信用户定义变量应该以小写字母开头,以便与系统变量区分开来。

最新更新