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

标签 java random distribution weibull

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

最佳答案

如果这是来自 Apache 公共(public)分布的 WeibullDistribution,则您使用的构造函数的第二个和第三个参数分别是形状参数和比例参数。大于 2 左右的形状参数值往往会给出接近尺度参数的结果。如果您不想这样,请更改形状参数。

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

关于java - java中使用weibull分布的随机数生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30305852/

相关文章:

java - java变量本身线程安全吗?什么时候更新变量?

java - 使用 Intent 避免 FAILED BINDER TRANSACTION 错误

python - 避免重复的随机值

python - 查找沿线的点密度以查找具有最大浓度的区域

java - JavaFX 中的 Node.setDisable() 与 setDisabled()

java - 如何在 JFrame 关闭后显示另一个 JFrame?

c++ - 在将迭代器取消引用到 std::vector<std::uniform_real_distribution<double>> 后显式调用值构造函数

c++ - Sobol 数 C++

mysql - 从 MySQL 的许多记录集中选择分布式样本记录集

matlab - 使用 MATLAB 创建高斯随机变量