Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/Fitting.java @ 9627:f51e23eb036a
zu pos 20
author | dnt_bjoernsen <d.tironi@bjoernsen.de> |
---|---|
date | Mon, 14 Oct 2019 16:27:31 +0200 |
parents | 9744ce3c3853 |
children | bc50ecfc58c5 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/Fitting.java Mon Oct 14 12:55:07 2019 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/Fitting.java Mon Oct 14 16:27:31 2019 +0200 @@ -23,6 +23,9 @@ public class Fitting { private static Logger log = Logger.getLogger(Fitting.class); + private static double[] previousParameters = null; // new double[] { Double.MAX_VALUE, Double.MAX_VALUE, Double.MAX_VALUE }; Dann schlägt die + // Kurvenanpassung fehl! Gernot hat recht! + /** Use instance of this factory to find meta infos for outliers. */ public interface QWDFactory { QWD create(double q, double w, double deltaW, boolean isOutlier); @@ -121,10 +124,13 @@ for (final FittingData fittingData : data) cf.addObservedPoint(fittingData.q, fittingData.w); - parameters = cf.fit(function, function.getInitialGuess()); + parameters = cf.fit(function, // previousParameters != null ? previousParameters : + function.getInitialGuess()); + break; } catch (final MathException me) { + if (log.isDebugEnabled()) { log.debug("tolerance " + tolerance + " + failed.", me); } @@ -140,7 +146,7 @@ */ return null; } - + previousParameters = parameters; // This is the parameterized function for a given km. instance = function.instantiate(parameters);