package Presenter.Generator; import Model.Line; import java.util.LinkedList; import java.util.Observable; import java.util.Random; /** * Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden. * * @Author: Armin Wolf * @Email: a_wolf28@uni-muenster.de * @Date: 01.08.2017. */ public class DatasetGenerator extends Observable{ private Double m; private Double b; private Random random; public DatasetGenerator(Double m, Double b){ this.m = m; this.b = b; random = new Random(); random.setSeed(9999); } public DatasetGenerator(){ random = new Random(); } public LinkedList generateDataset(){ LinkedList lines = new LinkedList<>(); m = 1 + random.nextDouble(); b = random.nextDouble(); for (int i=1;i<101;i++){ double y = (random.nextGaussian() * 100) % 100; double signal = m * i + b; signal *= -1; Line line = new Line((double) i, signal - y); line.setId(i-1+""); lines.add(line); } String[] ret = {"generator","Es wurden "+100+" Daten generiert mit den Parametern", "
m = "+m+"", "
b = "+b+""}; setChanged(); notifyObservers(ret); return lines; } }