Enforcing constraints during grey-box state space identification

6 views (last 30 days)
Hi all,
I would like to ask if there is a specific way to enforce parameter constraints during grey-box state space identification. Initially I am mostly worried about enforcing a positivity constraint (all values within the parameters vector should be >0).
Any ideas?
Thanks.

Answers (2)

Rajiv Singh
Rajiv Singh on 17 Mar 2012
In R2012a release, idgrey supports specification of parameter constraints. Look at the (new) "Structure" property of the model which contains a field called "Parameters". "Parameters" holds the array of all the model's parameters; for each, you can specify whether it is fixed or not and prescribe min/max bounds. Please see documentation for idgrey and greyest.
In previous releases, you may be able to enforce a constraint by defining the equations that translate the parameters to state-space matrices appropriately. For example, you can choose the square root of a parameter to model the system (so that the equations use the square of supplied values). You may also try rejecting negative values in the ODE file by replacing negative values with zero: par = max(0, par); This may help steer the optimizer away from choosing negative values for coefficients (with the risk that the optimizer may give up too soon). For SearchMethod, you can choose 'lsqnonlin' which is usually better at handling searches with parameter constraints.

Kostas Alexis
Kostas Alexis on 22 Jan 2012
Hi again, Still no answer to my question. Anyway this may help: can we somehow use a handler to a different optimization function (for example one of those used in the optimization toolbox)?

Categories

Find more on Systems of Nonlinear Equations in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!