Skip to Main Content Skip to Search
Product Documentation

getDelayInfo - Get input/output delay information for idnlarx model structure

Syntax

DELAYS = getDelayInfo(MODEL)
DELAYS = getDelayInfo(MODEL,TYPE)

Description

DELAYS = getDelayInfo(MODEL) obtains the maximum delay in each input and output variable of an idnlarx model.

DELAYS = getDelayInfo(MODEL,TYPE) lets you choose between obtaining maximum delays across all input and output variables or maximum delays for each output variable individually. When delays are obtained for each output variable individually a matrix is returned, where each row is a vector containing ny+nu maximum delays for each output variable, and:

Delay information is useful for determining the number of states in the model. For nonlinear ARX models, the states are related to the set of delayed input and output variables that define the model structure (regressors). For example, if an input or output variable p has a maximum delay of D samples, then it contributes D elements to the state vector:

p(t-1), p(t-2), ...p(t-D)

The number of states of a nonlinear ARX model equals the sum of the maximum delays of each input and output variable. For more information about the definition of states for idnlarx models, see Definition of idnlarx States

Input Arguments

getDelayInfo accepts the following arguments:

Output Arguments

Examples

In the following example you create a 2-output, 3-input nonlinear ARX model, then verify the number of delays using getDelayInfo.

  1. Create an idnlarx model.

     M = idnlarx([2 0 2 2 1 1 0 0; 1 0 1 5 0 1 1 0],...
                 'linear');
    
  2. Compute the maximum delays for each output variable individually.

    Del = getDelayInfo(M,'channelwise')
    
    Del =
    
         2     0     2     1     0
         1     0     1     5     0
    

The matrix Del contains the maximum delays for the first and second output of the model M. You can interpret the contents of matrix Del as follows:

You can find the maximum delays for all the input and output variables in the order (y1, y2, u1, u2, u3) by executing the command

Del=getDelayInfo(M, 'all')

which returns

Del =

     2     0     2     5     0

See Also

data2state(idnlarx) | getreg | idnlarx

  


Free Control Systems Interactive Kit

Learn more about resources for designing, testing, and implementing control systems.

Get free kit

Trials Available

Try the latest control systems products.

Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS