Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java @ 2744:c1f2e792704a
FixA: Calculate Delta W/t, too.
flys-artifacts/trunk@4479 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 23 May 2012 18:27:45 +0000 |
parents | 8a6ce15ced7f |
children | 4dda67a893da |
line wrap: on
line source
package de.intevation.flys.artifacts.math.fitting; import org.apache.commons.math.FunctionEvaluationException; import org.apache.commons.math.optimization.fitting.ParametricRealFunction; import de.intevation.flys.utils.DoubleUtil; public abstract class Function implements ParametricRealFunction { protected String name; protected String description; protected String [] parameterNames; protected double [] initialGuess; public Function() { } public Function( String name, String description, String [] parameterNames ) { this(name, description, parameterNames, DoubleUtil.fill(parameterNames.length, 1d)); } public Function( String name, String description, String [] parameterNames, double [] initialGuess ) { this.name = name; this.description = description; this.parameterNames = parameterNames; this.initialGuess = initialGuess; } public String getName() { return name; } public String getDescription() { return description; } public String [] getParameterNames() { return parameterNames; } public double [] getInitialGuess() { return initialGuess; } public de.intevation.flys.artifacts.math.Function instantiate( final double [] parameters ) { return new de.intevation.flys.artifacts.math.Function() { @Override public double value(double x) { try { return Function.this.value(x, parameters); } catch (FunctionEvaluationException fee) { return Double.NaN; } } }; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :