我定义了一个由两个正态分布组成的混合分布,像这样
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
改进的代码样式。我确信用户定义变量应该以小写字母开头,以便与系统变量区分开来。