Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java @ 2569:0dd58ab7e118
Added functions to be used for fitting in the "Fixierungsanalyse" and "Extremwertermittlung".
flys-artifacts/trunk@4095 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 27 Feb 2012 14:16:30 +0000 |
parents | |
children | 4dda67a893da |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java Mon Feb 27 14:16:30 2012 +0000 @@ -0,0 +1,30 @@ +package de.intevation.flys.artifacts.math.fitting; + +public class Pow +extends Function +{ + public Pow() { + super( + "pow", + "W(Q) = a*Q^c + d", + new String [] { "a", "c", "d" }); + } + + @Override + public double value(double x, double [] parameters) { + return parameters[0]*Math.pow(x, parameters[1]) + parameters[2]; + } + + @Override + public double [] gradient(double x, double [] parameters) { + double a = parameters[0]; + double c = parameters[1]; + double x_c = Math.pow(x, c); + return new double [] { + x_c, + a*x_c*Math.log(x), + 1d + }; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :