Grey-box models require that you specify the structure of the ODE model in a file. You use this file to create the idgrey or idnlgrey model object. You can use both the idgrey and the idnlgrey objects to model linear systems. However, you can only represent nonlinear dynamics using the idnlgrey model object.
The idgrey object requires that you write a function to describe the linear dynamics in the state-space form, such that this file returns the state-space matrices as a function of your parameters. For more information, see Specifying the Linear Grey-Box Model Structure.
The idnlgrey object requires that you write a function or MEX-file to describe the dynamics as a set of first-order differential equations, such that this file returns the output and state derivatives as a function of time, input, state, and parameter values. For more information, see Specifying the Nonlinear Grey-Box Model Structure.
The following table compares idgrey and idnlgrey model objects.
Comparison of idgrey and idnlgrey Objects
|Settings and Operations||Supported by idgrey?||Supported by idnlgrey?|
|Set bounds on parameter values.||Yes||Yes|
|Handle initial states individually.||Yes||Yes|
|Perform linear analysis.||Yes|
For example, use the bode command.
|Honor stability constraints.||Yes|
Specify constraints using the Advanced.StabilityThreshold estimation option. For more information, see greyestOptions.
|Estimate a disturbance model.||Yes|
The disturbance model is represented by K in state-space equations.
|Optimize estimation results for simulation or prediction.||Yes|
Set the Focus estimation option to 'Simulation' or 'Prediction'. For more information, see greyestOptions.
Because idnlgrey models are Output-Error models, there is no difference between simulation and prediction results.