File Exchange

image thumbnail

SIMPGDSEARCH

version 1.0 (1.95 KB) by

Multi-dimensional unconstrained nonlinear minimization using grid search + Simplex method.

1 Download

Updated

View License

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.

Comments and Ratings (3)

Nikki

Nikki (view profile)

SETPROD can be found here http://www.mathworks.com/matlabcentral/fileexchange/5898. Many thanks to the author of simpgdsearch. It is really useful. Cheers!

Saad

Saad (view profile)

It seems that Matlab doesnt recognize setprod. Anyone has an updated code? Thanks a lot

Best

S

Ramin Radmanesh

The execution is terminated by the following error message:

??? Error using ==> eval
Undefined command/function 'setprod'.

Error in ==> simpgdsearch at 64
eval(['model = setprod(' str ');']);

Updates

1.0

BSD License added.

MATLAB Release
MATLAB 5.3.1 (R11.1)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video