* @param high The high value.
* @param distort The distortion factor.
* @return The data set.
*/
public DataHolder generate(final int seed, final int rows, final int cols, final double low, final double high, final double distort) {
final GenerateRandom rnd = new MersenneTwisterGenerateRandom(seed);
final double[][] ideal = new double[rows][cols];
final double[][] actual = new double[rows][cols];
for (int row = 0; row < rows; row++) {
for (int col = 0; col < cols; col++) {
ideal[row][col] = rnd.nextDouble(low, high);
actual[row][col] = ideal[row][col] + (rnd.nextGaussian() * distort);
}
}
final DataHolder result = new DataHolder();
result.setActual(actual);