在java中使用weibull分布生成随机数

时间:2015-05-18 14:26:07

标签: java random distribution weibull

我想从具有给定形状和比例因子的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();
}

1 个答案:

答案 0 :(得分:1)

如果这是Apache commons发行版中的WeibullDistribution,则您使用的构造函数的第二个和第三个参数分别是shape参数和scale参数。形状参数的值大于2左右将倾向于给出接近比例参数的结果。如果您不想这样,请更改形状参数。

请注意,每次调用方法时,都应构建新的rg和新WeibullDistribution对象。制作这两个static并重复使用它们。