algorithms-for-computing-li.../src/main/java/Presenter/Generator/DatasetGenerator.java

59 lines
1.4 KiB
Java

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<Line> generateDataset(){
LinkedList<Line> 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",
"</br> <b>m</b> = "+m+"",
"</br> <b>b</b> = "+b+""};
setChanged();
notifyObservers(ret);
return lines;
}
}