I need to thank Duane Hanselman for suggesting this great idea.
Fminspleas is a simple nonlinear least squares tool that fits regression models of the form
Y = a1*f1(X,C) + a2*f2(X,C) + ... + an*fn(X,C)
X can be any array, so it works on multidimensional
problems, and C is the set of only intrinsically nonlinear parameters. f1, f2, etc., must return a column vector result, of the same length as Y.
Because the optimization (in this case, fminsearch) need only work on the intrinsically nonlinear parameters, far fewer function evaluations are required. The example I give in the help took only 32 function evaluations to estimate 2 linear parameters plus 1 nonlinear parameter, versus over 300 evaluations had I just called fminsearch directly.
Fminspleas now allows you to specify bound constraints on the nonlinear parameters only. I'll see about adding linear parameter constraints if there are requests.
Finally, fminspleas allows the user to supply a set of non-negative weights to the regression.
E-mail me with any problems or bugs. |