Have you considered using an interactive system like R, Matlab or Octave? You might be happier.
Or even have you considered goal search in Excel? On Wed, Aug 13, 2014 at 6:08 PM, South Light <[email protected]> wrote: > Hi, > > May be someone can help me with this problem. > > Given the follow function: y = 10 ^ ((x + 82) / (-10 * A)) > > I would like to found the A value witch curve fit better for a set of x,y > values, usually the set is about 20 to 25 x,y values. > > I use the CurveFitter class and the ParametricUnivariateFunction > > > ParametricUnivariateFunction function = new ParametricUnivariateFunction() > { > > > @Override > > public double[] gradient(double x, double[] params) { > > (????? comment) > > } > > > @Override > > public double value(double x, double[] params) { > > > double a = params[0]; > > > return Math.pow(10, ((x + 82) / > ( > -10 * > a > ) > )); > > > } > > }; > > LevenbergMarquardtOptimizer optimizer = new LevenbergMarquardtOptimizer(); > > CurveFitter<ParametricUnivariateFunction> fitter = new > CurveFitter<ParametricUnivariateFunction>(optimizer); > > double[] x = { > -82 > , > -85 > , > -89 > }; > > double[] y = { > 1 > , > 1.4 > , > 2 > }; > > for (int i = 0; i < x.length; i++) > > fitter.addObservedPoint(x[i], y[i]); > > double[] result = fitter.fit(function, new double[] { 1, 10 }); > > > > A. Is this the best way to solve the problem or there's another better > way? > > B. What do we need to write on the gradient area (????? comment) ? > > Any help will be more then welcome. > > Many thanks !! >
