Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/LogLinear.java @ 9643:58f3fe98fd6b
Fitting new Option UI
author | dnt_bjoernsen <d.tironi@bjoernsen.de> |
---|---|
date | Mon, 02 Dec 2019 14:14:06 +0100 |
parents | af13ceeba52a |
children |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/LogLinear.java Mon Dec 02 14:07:25 2019 +0100 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/LogLinear.java Mon Dec 02 14:14:06 2019 +0100 @@ -8,66 +8,12 @@ package org.dive4elements.river.artifacts.math.fitting; -public class LogLinear -extends Function -{ - public static final Derivative DERIVATIVE = - new Derivative("W'(Q) = a*m/(m*Q + b)") { +public class LogLinear extends AbstractLogLinear { - @Override - public org.dive4elements.river.artifacts.math.Function - instantiate(double [] parameters) - { - final double a = parameters[0]; - final double m = parameters[1]; - final double b = parameters[2]; - - return new org.dive4elements.river.artifacts.math.Function() { - @Override - public double value(double Q) { - return a*m/(m*Q + b); - } - }; - } - }; public static final Function INSTANCE = new LogLinear(); public LogLinear() { - super( - "log-linear", - "W(Q) = a*ln(m*Q + b)", - new String [] { "a", "m", "b" }); - } - - @Override - public double value(double x, double [] parameters) { - return parameters[0]*Math.log(parameters[1]*x + parameters[2]); + super("log-linear", "W(Q) = a*ln(m*Q + b)"); } - - @Override - public double [] gradient(double x, double [] parameters) { - double a = parameters[0]; - double m = parameters[1]; - double b = parameters[2]; - - double lin = m*x + b; - - return new double [] { - Math.log(lin), - a*x / lin, - a / lin - }; - } - - @Override - public Derivative getDerivative() { - return DERIVATIVE; - } - - @Override - public Function getInverse() { - return InvLogLinear.INSTANCE; - } -} -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : +} \ No newline at end of file