I take it, you ask for help for doing your homework? Bye, Thomas
> Am 14.08.2014 um 15:56 schrieb South Light <[email protected]>: > > Hi Ted, > > Thanks a lot for your suggestion but I need to add it using java. > > Thanks > again > . > > > > 2014-08-14 2:22 GMT-03:00 Ted Dunning <[email protected]>: > >> 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 !! >> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
