Generate model-order combinations for single-output ARX model estimation


nn = struc(na,nb,nk)
nn = struc(na,nb_1,...,nb_nu,nk_1,...,nk_nu)


nn = struc(na,nb,nk) generates model-order combinations for single-input ARX model estimation. na and nb are row vectors that specify range of model orders. nk is a row vector that specifies range of model delays. nn is a matrix that contains all combinations of the orders and delays.

nn = struc(na,nb_1,...,nb_nu,nk_1,...,nk_nu) generates model-order combinations for ARX model with nu input channels.


Generate model-order combinations for single-input ARX model estimation:

% na and nb vary between 1 and 2, nk varies between 4 and 5. 
NN = struc(1:2,1:2,4:5);

Generate model-order combinations, and estimate multi-input ARX model:

% Create estimation and validation data sets.
load co2data;
Ts = 0.5; % Sampling interval is 0.5 min
ze = iddata(Output_exp1,Input_exp1,Ts);
zv = iddata(Output_exp2,Input_exp2,Ts);

% Generate model-order combinations for na=2:4,
% nb=2:5 for the first input and 1 or 4 for the second input,
% nk=1:4 for the first input and 0 for the second input.
NN = struc(2:4, 2:5, [1 4], 1:4, 0); 

% Estimate an ARX model for each model order.
V = arxstruc(ze, zv, NN);

% Select a model order.

% Estimate an ARX model of selected order.

More About

expand all


  • Use with arxstruc or ivstruc to compute loss functions for ARX models, one for each model order combination returned by struc.

Was this topic helpful?