Hi. Le dim. 31 juil. 2022 à 18:05, Yaqiang Wang <yaqiang.w...@gmail.com> a écrit : > > Currently I just want to fit univariate function such as the following Python > function: > > def func(x, a, b, c): > return a * exp(-b * x) + c > > > I also tried using SimpleCurveFitter to do it. MyParametricUnivariateFunction > implements ParametricUnivariateFunction and overrides value and gradient > methods > (https://github.com/meteoinfo/MeteoInfo/blob/master/meteoinfo-math/src/main/java/org/meteoinfo/math/optimize/MyParametricUnivariateFunction.java), > and the gradient array is calculated through numerical differentiation. The > curveFit function in OptimizeUtil class was developed for curve fitting using > SimpleCurveFitter > (https://github.com/meteoinfo/MeteoInfo/blob/master/meteoinfo-math/src/main/java/org/meteoinfo/math/optimize/OptimizeUtil.java#L121). > Then the Jython curve_fit function was implemented > (https://github.com/meteoinfo/MeteoInfo/blob/master/meteoinfo-lab/pylib/mipylib/numeric/optimize/minpack.py#L97). > > I tested curve_fit with a simple function and the result looks ok. > > > But for the function I mentioned at the beginning, curve_fit can not return > the fitting result.
If you had attached figures to this message, the ML manager quite possibly discarded them. Perhaps better file a JIRA report: https://issues.apache.org/jira/projects/MATH Regards, Gilles > > > I have no idea how to correct it. > > Regards > Yaqiang > > On Sun, Jul 31, 2022 at 7:49 PM Gilles Sadowski <gillese...@gmail.com> wrote: >> >> Le dim. 31 juil. 2022 à 03:46, Yaqiang Wang <yaqiang.w...@gmail.com> a écrit >> : >> > >> > Gilles, >> > >> > Thanks for your reply! Concretely to the point, I want to implement SciPy >> > curve_fit function using Java and Jython through Apache commons math >> > library. Any idea of it? >> >> I guess that your function is multivariate (?); otherwise you'd use the >> "SimpleCurveFitter" class (from package "o.a.c.math4.legacy.fitting".[1] >> >> The non-linear least-squares utility is defined in package >> "o.a.c.math4.legacy.fitting.leastsquares".[2] >> This functionality lets the user provide >> * the (multivariate) function >> * the Jacobian matrix >> Do I understand correctly that you want to implement a utility that >> automatically generates the Jacobian through numerical differentiation >> of the function? >> >> Regards, >> Gilles >> >> [1] >> https://commons.apache.org/proper/commons-math/commons-math4-legacy/apidocs/org/apache/commons/math4/legacy/fitting/SimpleCurveFitter.html >> [2] >> https://commons.apache.org/proper/commons-math/commons-math4-legacy/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/package-summary.html >> >> > > [...] --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org