@Override public boolean generate(List<Double> dataSet, double[] param ) { return fitModel(dataSet,null,param); }
/** * Create two models. One will generate larger errors than the other. See if it selects the right one. */ @Test public void checkSelectModel() { List<ModelInfo> models = new ArrayList<ModelInfo>(); ModelInfo model0 = new ModelInfo(); model0.manager = new DoubleArrayManager(1); model0.distance = new RandomDistanceModel(5,0.3); model0.generator = new DoNothingModelFitter(2); model0.minPoints = -1; model0.fitThreshold = 0.1; ModelInfo model1 = new ModelInfo(); model1.manager = new DoubleArrayManager(1); model1.distance = new RandomDistanceModel(0,0.05); model1.generator = new DoNothingModelFitter(3); model1.minPoints = -1; model1.fitThreshold = 0.1; models.add(model0); models.add(model1); List<Double> points = new ArrayList<Double>(); for( int i = 0; i < 100; i++ ) { points.add(0.1+i); } ModelMatcherMulti<Double> alg = createModelMatcher(models); assertTrue(alg.process(points)); assertEquals(1,alg.getModelIndex()); }