| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → System Identification Toolbox |
| Contents | Index |
| Learn more about System Identification Toolbox |
You can estimate multiple-output model directly using all the inputs and outputs, or you can try building models for subsets of the most important input and output channels. To learn more about each approach, see:
Modeling multiple-output systems is more challenging because input/output couplings require additional parameters to obtain a good fit and involve more complex models. In general, a model is better when more data inputs are included during modeling. Including more outputs typically leads to worse simulation results because it is harder to reproduce the behavior of several outputs simultaneously.
If you know that some of the outputs have poor accuracy and should be less important during estimation, you can control how much each output is weighed in the estimation. For more information, see Improving Multiple-Output Estimation Results by Weighing Outputs During Estimation.
You can estimate the following types of models for multiple-output data:
Impulse- and step-response models
Frequency-response models
Linear ARX models
State-space models
Nonlinear ARX and Hammerstein-Wiener models
Linear and nonlinear ODEs
Tip Estimating multiple-output state-space models directly generally produces better results than estimating other types of multiple-output models directly. |
You may find that it is harder for a single model to explain the behavior of several outputs. If you get a poor fit estimating a multiple-output model directly, you can try building models for subsets of the most important input and output channels.
Use this approach when no feedback is present in the dynamic system and there are no couplings between the outputs. If you are unsure about the presence of feedback, see How to Analyze Data Using the advice Command.
To construct partial models, use subreferencing to create partial data sets, such that each data set contains all inputs and one output. For more information about creating partial data sets, see the following sections in the System Identification Toolbox User's Guide:
For working in the System Identification Tool GUI, see Creating Data Sets from a Subset of Signal Channels.
For working at the command line, see the Subreferencing iddata Objects.
After validating the single-output models, use vertical concatenation to combine these partial models into a single multiple-output model. For more information about concatenation, see Concatenating iddata Objects or Concatenating idfrd Objects.
You can try refining the concatenated multiple-output model using the original (multiple-output) data set.
When estimating linear and nonlinear black-box models for multiple-output systems, you can control the relative importance of output channels during the estimation process. The ability to control how much each output is weighed during estimation is useful when some of the measured outputs have poor accuracy or should be treated as less important during estimation. For example, if you have already modeled one output well, you might want to focus the estimation on modeling the remaining outputs. Similarly, you might want to refine a model for a subset of outputs.
You can specify output weights directly in the estimation command using the Criterion and Weighting fields of the Algorithm property. You must set the Criterion field to Trace, and set the Weighting field to the matrix that contains the output weights. The Trace criterion minimizes the weighted sum of the prediction errors using the weights specified by Weighting.
The following code snippet shows how to specify the Criterion and Weighting Algorithm fields as part of the pem command:
model=pem(z,2,'criterion','trace','weighting',diag(Q,1))
where Q is a vector of positive values and the higher values for outputs to be emphasized more during estimation.
You set Weighting to a positive semi-definite symmetric matrix of size equal to number of outputs. By default, Weighting is an identity matrix, which means that all outputs are weighed equally during estimation.
For more information about these Algorithm fields for linear estimation, see the Algorithm Properties reference page. For more information about the Algorithm fields for nonlinear estimation, see the idnlarx and idnlhw reference pages.
Note For multiple-output idnlarx models containing neuralnet or treepartition nonlinearity estimators, output weighting is ignored because each output is estimated independently. |
![]() | Creating Model Structures at the Command Line | Data Import and Processing | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |