MATLAB: How to add contraints to a model ( non linear arx, arx, armax …)

armaxarxboundarycontraintslimitmodelnonlinearstate-space modelSystem Identification Toolbox

Hello,
I have a set of data which describes a temperature process. The dataset contains various temperatures from sensors and
the voltage input. I already estimated several models from the data, but I wondered if it is possible to add contraints
when I create the models? For example I would like to state that the minimum Temperature for all sensors is 25 degrees (since
that is room temperature). Is it possible to include that information to may model somehow?

Best Answer

If the constraints can be expressed as lower or upper bounds on the model's parameters, the estimations routines will handle them. The process looks like:
  1. Create model template, e.g., sys = idss(...)
  2. Specify bounds on parameters; sys.Structure.<parameter>.Minimum = ...
  3. Identify the structured model: sys2 = <estimator>(data, sys)
For more complex constraints, such as parameter inter-relationships, you need to use the grey box modeling approach. See:
Related Question