我有4个部分,每个部分10000次,这应该适合情况,并且通过在每个分布的附加维度中随机生成数字,统一,正态和三角分布给出部分的尺寸。Java中的三角形分布
对于每4个零件有决定它们是否合适。但这应该不成问题。
我已经成功在某种程度上做匀速和正态分布:
public double uniformDistrubution(double min, double max) {
Random rand = new Random();
return Math.random() * max + min;
}
public double normalDistrubution(double mean, double std) {
Random rng = new Random();
return mean + std * rng.nextGaussian();
}
但我想不通的三角之一。我已经尺寸为它:
一个= 7:6,B = 8:0,C = 8:4
有你'uniformDistribution'方法的一个严重问题。返回值应该是'(max - min)* Math.random()+ min' - 您需要按范围缩放,而不是'max'。此外,你从不使用Random()对象,你应该删除该行。并根据@ Tunaki的建议,使'Random()'对象为'static'并在'normalDistribution'的方法之外实例化它。 – pjs
是的,当我调试时,发现它也没有检查尺寸:)无论如何谢谢 –