Update evalModelOptions interface and implementation
Update code so that evalModelOptions
completely hides the implementation of the options, similarly to the built-in optimoptions
. In particular, change the following common pattern:
evalModelOPTIONS.localModifiableParameterIdxs(i) = [];
evalModelOptions(evalModelOPTIONS);
to something more like
evalModelOptions(evalModelOPTIONS,'LocalNonmodifiableParameterIdx',i);
Moreover, store whole paramSpecs
, instead of copying over ony selected fields/properties. Consequently, implement EvalModelOptions
as a class, similarly to optim.options.Fmincon
etc. built-in implementations, and change current fields like modifiableParameterIdxs
into no-arg methods.