Example usage for org.apache.commons.math3.random RandomDataGenerator nextUniform

List of usage examples for org.apache.commons.math3.random RandomDataGenerator nextUniform

Introduction

In this page you can find the example usage for org.apache.commons.math3.random RandomDataGenerator nextUniform.

Prototype

public double nextUniform(double lower, double upper)
        throws NumberIsTooLargeException, NotFiniteNumberException, NotANumberException 

Source Link

Document

Algorithm Description: scales the output of Random.nextDouble(), but rejects 0 values (i.e., will generate another random double if Random.nextDouble() returns 0).

Usage

From source file:ijfx.ui.filter.FilterTest.java

public void update(ActionEvent event) {
    ArrayList<Double> numbers = new ArrayList<>();
    RandomDataGenerator generator = new RandomDataGenerator();

    for (int i = 0; i != 300; i++) {
        numbers.add(new Double(generator.nextUniform(0, 0.5)));
    }/*from  w  w  w.j  av  a  2s  . co  m*/

    filter.setAllPossibleValue(numbers);

    borderPane.getStylesheets().remove(ImageJFX.getStylesheet());
    borderPane.getStylesheets().add(ImageJFX.getStylesheet());

}

From source file:GeneticAlgorithm.SystemToSolve.java

private double RN(double lower, double upper) {
    RandomDataGenerator random = new RandomDataGenerator();
    return random.nextUniform(lower, upper);
}

From source file:com.siemens.industrialbenchmark.util.RandomNumberExpectedValueTest.java

@Test
public void testExpectedValues() {

    long seed = 0;
    Random rand = new Random(seed);
    RandomDataGenerator randomData = new RandomDataGenerator();

    double uniformAverage = 0.0;
    double binomialAverage = 0.0;
    double normalAverage = 0.0;
    double exponentialAverage = 0.0;

    for (int i = 0; i < 1e6; i++) {

        // set current seed
        randomData.reSeed(seed);//from w  w w.  j a  v a 2s . com

        // draw random numbers
        double n = randomData.nextGaussian(0, 1);
        double u = randomData.nextUniform(0, 1);
        double b = randomData.nextBinomial(1, 0.5);
        double e = randomData.nextExponential(0.25);

        // average mean random number
        uniformAverage += (1. / (1. + i)) * (u - uniformAverage);
        binomialAverage += (1. / (1. + i)) * (b - binomialAverage);
        normalAverage += (1. / (1. + i)) * (n - normalAverage);
        exponentialAverage += (1. / (1. + i)) * (e - exponentialAverage);

        // draw new seed from global random generator
        seed = rand.nextLong();
    }

    assertEquals(0.5, uniformAverage, 0.001);
    assertEquals(0.5, binomialAverage, 0.001);
    assertEquals(0.0, normalAverage, 0.001);
    assertEquals(0.25, exponentialAverage, 0.001);
}