2

我想从具有给定形状和比例因子的威布尔分布中生成随机数。我使用了下面的代码,但生成的值总是接近 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();
}
4

1 回答 1

1

如果这是WeibullDistribution来自 Apache commons 发行版,那么您使用的构造函数的第二个和第三个参数分别是一个形状参数和一个比例参数。大于 2 左右的形状参数值往往会给出接近比例参数的结果。如果您不希望这样,请更改形状参数。

请注意,您应该在每次调用方法时都构造rg新对象。WeibullDistribution制作这两个static并重新使用它们。

于 2015-05-18T14:52:36.723 回答