Description |
SIMPGRIDSEARCH Multi-dimensional unconstrained nonlinear minimization using grid search + Simplex method.
X = SIMPGDSEARCH(OBJFUN,GDVALUES) returns a vector X that is a minimizer of the function described in OBJFUN (usually an m file: OBJFUN.M).
See OBJFUN_DEMO.M for how to write an objective function. It should at least have one input argument (a vector, of which length is equal to the number of parameters).
GDVALUES is a cell array of which number of rows is equal to number of parameters. n-th row specifies the grid values for the n-th parameter. All the combination of the grid values are tried (grid search) and then the best parameter set is used as an input guess value for the Nelder-Mead simplex method (FMINSEARCH).
X = IMPGDSEARCH(OBJFUN,GDVALUES,ADDARG) passes additional arguments to the objective function. This should be a cell array consisting of a set of arguments.
SIMPGDSEARCH(OBJFUN,GDVALUES,ADDARG,FILEOUT) writes search result to FILEOUT. Each row in FILEOUT denotes evaluated parameter values and corresponding objective function value. It is in the evaluated order. If there is no additional arguments to be given, then specify [] as ADDARG for this case.
<Example>
param1 = linspace(0,10,10);
param2 = linspace(0,8,8);
param3 = linspace(2,10,4);
param4 = linspace(3,12,12);
gdvalues = {param1 param2 param3 param4};
objfun = 'objfun_demo';
trueval = [2 4 6 8];
coef = [1 2 3 4];
addarg = {trueval,coef};
x = simpgdsearch(objfun,gdvalues,addarg)
See also FMINSEARCH.
At the end of the file simpgdsearch.m, commands to produce the same figure as the snapshot is provided. |