我想从具有给定形状和比例因子的weibull分布中生成随机数。我使用了下面的代码,但生成的值总是接近beta。如何更改值的范围?
public double weibull(double eta, double beta)
{
RandomGenerator rg = new JDKRandomGenerator();
WeibullDistribution g= new WeibullDistribution(rg, eta, beta, WeibullDistribution.DEFAULT_INVERSE_ABSOLUTE_ACCURACY);
return g.sample();
}
答案 0 :(得分:1)
如果这是Apache commons发行版中的WeibullDistribution
,则您使用的构造函数的第二个和第三个参数分别是shape参数和scale参数。形状参数的值大于2左右将倾向于给出接近比例参数的结果。如果您不想这样,请更改形状参数。
请注意,每次调用方法时,不都应构建新的rg
和新WeibullDistribution
对象。制作这两个static
并重复使用它们。