Identifying Input-Output Polynomial Models

What Are Black-Box Polynomial Models?

Polynomial Model Structure

You can estimate the following types of linear polynomial model structures:

The polynomials A, Bi, C, D, and F i contain the time-shift operator q. ui is the ith input, nu is the total number of inputs, and nki is the ith input delay that characterizes the delay response time. The variance of the white noise e(t) is assumed to be . For more information about the time-shift operator, see Understanding the Time-Shift Operator q.

To estimate polynomial models, you must specify the model order as a set of integers that represent the number of coefficients for each polynomial you include in your selected structure—na for A, nb for B, nc for C, nd for D, and nf for F. You must also specify the number of samples nk corresponding to the input delay—dead time—given by the number of samples before the output responds to the input.

The number of coefficients in denominator polynomials is equal to the number of poles, and the number of coefficients in the numerator polynomials is equal to the number of zeros plus 1. When the dynamics from u(t) to y(t) contain a delay of nk samples, then the first nk coefficients of B are zero.

For more information about the family of transfer-command models, see the corresponding section in System Identification: Theory for the User, Second Edition, by Lennart Ljung, Prentice Hall PTR, 1999.

Understanding the Time-Shift Operator q

The general polynomial equation is written in terms of the time-shift operator q. To understand this time-shift operator, consider the following discrete-time difference equation:

where y(t) is the output, u(t) is the input, and T is the sampling interval. q-1 is a time-shift operator that compactly represents such difference equations using :

In this case, and .

Definition of a Discrete-Time Polynomial Model

These model structures are subsets of the following general polynomial equation:

The model structures differ by how many of these polynomials are included in the structure. Thus, different model structures provide varying levels of flexibility for modeling the dynamics and noise characteristics. For more information about the time-shift operator, see Understanding the Time-Shift Operator q.

The following table summarizes common linear polynomial model structures supported by the System Identification Toolbox™ product. If you have a specific structure in mind for your application, you can decide whether the dynamics and the noise have common or different poles. A(q) corresponds to poles that are common for the dynamic model and the noise model. Using common poles for dynamics and noise is useful when the disturbances enter the system at the input. F i determines the poles unique to the system dynamics, and D determines the poles unique to the disturbances.

Model StructureDiscrete-Time FormNoise Model
ARX

The noise model is and the noise is coupled to the dynamics model. ARX does not let you model noise and dynamics independently.
Use ARX to have a simple model at good signal-to-noise ratios.

ARMAX

Extends the ARX structure by providing more flexibility for modeling noise using the C parameters (a Moving Average of white noise). Use ARMAX when the dominating disturbances enter at the input. Such disturbances are called load disturbances.
Box-Jenkins (BJ)

Provides completely independent parameterization for the dynamics and the noise using rational polynomial functions.
Use BJ models when the noise does not enter at the input, but is primary a measurement disturbance, This structure provides additional flexibility for modeling noise.
Output-Error (OE)

Use when you want to parameterize dynamics, but do not want to estimate a noise model.

    Note   In this case, the noise models is in the general equation and the white noise source e(t) affects only the output.

The System Identification Tool GUI supports only the polynomial models listed in the table. However, you can use pem to estimate all five polynomial or any subset of polynomials in the general equation. For more information about working with pem, see Using pem to Estimate Polynomial Models.

Definition of a Continuous-Time Polynomial Model

In continuous time, the general frequency-domain equation is written in terms of the Laplace transform variable s, which corresponds to a differentiation operation:

In the continuous-time case, the underlying time-domain model is a differential equation and the model order integers represent the number of estimated numerator and denominator coefficients. For example, na=3 and nb=2 correspond to the following model:

The simplest way to estimate continuous-time polynomial models of arbitrary structure is to first estimate a discrete-time model of arbitrary order and then use d2c to convert this model to continuous time. For more information, see Transforming Between Discrete-Time and Continuous-Time Representations.

You can also estimate continuous-time polynomial models directly using continuous-time frequency-domain data. In this case, you must set the Ts data property to 0 to indicate that you have continuous-time frequency-domain data.

Definition of Multiple-Output ARX Models

You can use a multiple-output ARX model to model a multiple-output dynamic system. The ARX model structure is given by the following equation:

For a system with nu inputs and ny outputs, A(q) is an ny-by-ny matrix. A(q) can be represented as a polynomial in the shift operator q-1:

For more information about the time-shift operator, see Understanding the Time-Shift Operator q.

A(q) can also be represented as a matrix:

where the matrix element akj is a polynomial in the shift operator q-1:

represents the Kronecker delta, which equals 1 for k=j and equals 0 for k≠j. This polynomial describes how the old values of the jth output are affected by the kth output. The ith row of A(q) represents the contribution of the past output values for predict the current value of the ith output.

B(q) is an ny-by-ny matrix. B(q) can be represented as a polynomial in the shift operator q-1:

B(q) can also be represented as a matrix:

where the matrix element bkj is a polynomial in the shift operator q-1:

nkkj is the delay from the jth input to the kth output. B(q) represents the contributions of inputs to predicting all output values.

Data Supported by Polynomial Models

Types of Supported Data

You can estimate linear, black-box polynomial models from data with the following characteristics:

You must import your data into the MATLAB® workspace, as described in Preparing Data for System Identification.

Designating Data for Estimating Continuous-Time Models

To get a linear, continuous-time model of arbitrary structure for time-domain data, you can estimate a discrete-time model, and then use d2c to transform it to a continuous-time model.

For continuous-time frequency-domain data, you can estimate directly only the ARX and Output-Error (OE) continuous-time models. Other structures include noise models, which is not supported for frequency-domain data.

Designating Data for Estimating Discrete-Time Models

You can estimate arbitrary-order, linear state-space models for both time- or frequency-domain data.

Your data must have the data property Ts set to the experimental data sampling interval.

Preliminary Step – Estimating Model Orders and Input Delays

Why Estimate Model Orders and Delays?

To estimate polynomial models, you must provide input delays and model orders. If you already have insight into the physics of your system, you can specify the number of poles and zeros.

In most cases, you do not know the model orders in advance. To get initial model orders and delays for your system, you can estimate several ARX models with a range of orders and delays and compare the performance of these models. You choose the model orders that correspond to the best model performance and use these orders as an initial guess for further modeling.

Because this estimation procedure uses the ARX model structure, which includes the A and B polynomials, you only get estimates for the na, nb, and nk parameters. However, you can use these results as initial guesses for the corresponding polynomial orders and input delays in other model structures, such as ARMAX, OE, and BJ.

If the estimated nk is too small, the leading nb coefficients are much smaller than their standard deviations. Conversely, if the estimated nk is too large, there is a significant correlation between the residuals and the input for lags that correspond to the missing B terms. For information about residual analysis plots, see Using Residual Analysis Plots to Validate Models.

Estimating Orders and Delays in the GUI

The following procedure assumes that you have already imported your data into the GUI and performed any necessary preprocessing operations. For more information, see Preparing Data for System Identification.

To estimate model orders and input delays in the System Identification Tool GUI:

  1. In the System Identification Tool GUI, select Estimate > Linear parametric models to open the Linear Parametric Models dialog box.

    The ARX model is already selected by default in the Structure list.

  2. Edit the Orders field to specify a range of poles, zeros, and delays. For example, enter the following values for na, nb, and nk:

    [1:10 1:10 1:10]

  3. Click Estimate to open the ARX Model Structure Selection window, which displays the model performance for each combination of model parameters. The following figure shows an example plot.

  4. Select a rectangle that represents the optimum parameter combination and click Insert to estimates a model with these parameters. For information about using this plot, see Selecting Model Orders from the Best ARX Structure.

    This action adds a new model to the Model Board in the System Identification Tool GUI. The default name of the parametric model contains the model type and the number of poles, zeros, and delays. For example, arx692 is an ARX model with na=6, nb=9, and a delay of two samples.

  5. Click Close to close the ARX Model Structure Selection window.

After estimating model orders and delays, use these values as initial guesses for estimating other model structures, as described in How to Estimate Polynomial Models in the GUI.

Estimating Model Orders at the Command Line

You can estimate model orders using the struc, arxstruc, and selstruc commands in combination.

If you are working with a multiple-output system, you must use struc, arxstruc, and selstruc commands for each output. In this case, you must subreference the correct output channel in your estimation and validation data sets.

For each estimation, you use two independent data sets—an estimation data set and a validation data set. These independent data set can be from different experiments, or you can select these data sets from a single experiment. For more information about subreferencing data, see Subreferencing iddata Objects and Subreferencing idfrd Objects.

For an example of estimating model orders for a multiple-input system, see Estimating Delays in the Multiple-Input System in System Identification Toolbox Getting Started Guide.

struc.   The struc command creates a matrix of possible model-order combinations for a specified range of na, nb, and nk values.

For example, the following command defines the range of model orders and delays na=2:5, nb=1:5, and nk=1:5:

NN = struc(2:5,1:5,1:5))

arxstruc.   The arxstruc command takes the output from struc, estimates an ARX model for each model order, and compares the model output to the measured output. arxstruc returns the loss for each model, which is the normalized sum of squared prediction errors.

For example, the following command uses the range of specified orders NN to compute the loss command for single-input/single-output estimation data data_e and validation data data_v:

V = arxstruc(data_e,data_v,NN)

Each row in NN corresponds to one set of orders:

[na nb nk]

selstruc.   The selstruc command takes the output from arxstruc and opens the ARX Model Structure Selection window to guide your choice of the model order with the best performance.

For example, to open the ARX Model Structure Selection window and interactively choose the optimum parameter combination, use the following command:

selstruc(V)

For more information about working with the ARX Model Structure Selection window, see Selecting Model Orders from the Best ARX Structure.

To find the structure that minimizes Akaike's Information Criterion, use the following command:

nn = selstruc(V,'AIC')

where nn contains the corresponding na, nb, and nk orders.

Similarly, to find the structure that minimizes the Rissanen's Minimum Description Length (MDL), use the following command:

nn = selstruc(V,'MDL')

To select the structure with the smallest loss command, use the following command:

nn = selstruc(V,0)

After estimating model orders and delays, use these values as initial guesses for estimating other model structures, as described in Using pem to Estimate Polynomial Models.

Estimating Delays at the Command Line

The delayest command estimates the time delay in a dynamic system by estimating a low-order, discrete-time ARX model and treating the delay as an unknown parameter.

By default, delayest assumes that na=nb=2 and that there is a good signal-to-noise ratio, and uses this information to estimate nk.

To estimate the delay for a data set data, type the following at the prompt:

delayest(data)

If your data has a single input, MATLAB computes a scalar value for the input delay—equal to the number of data samples. If your data has multiple inputs, MATLAB returns a vector, where each value is the delay for the corresponding input signal.

To compute the actual delay time, you must multiply the input delay by the sampling interval of the data.

You can also use the ARX Model Structure Selection window to estimate input delays and model order together, as described in Estimating Model Orders at the Command Line.

Selecting Model Orders from the Best ARX Structure

You generate the ARX Model Structure Selection window for your data to select the best-fit model.

For a procedure on generating this plot in the System Identification Tool GUI, see Estimating Orders and Delays in the GUI. To open this plot at the command line, see Estimating Model Orders at the Command Line.

The following figure shows a sample plot in the ARX Model Structure Selection window.

The horizontal axis in the ARX Model Structure Selection window is the total number of ARX parameters:

The vertical axis, called Unexplained output variance (in %), is the ARX model prediction error for a specific number of parameters. The prediction error is the sum of the squares of the differences between the validation data output and the model output. In other words, Unexplained output variance (in %) is the portion of the output not explained by the model.

Three rectangles are highlighted on the plot—green, blue, and red. Each color indicates a type of best-fit criterion, as follows:

In the ARX Model Structure Selection window, click any bar to view the orders that give the best fit. The area on the right is dynamically updated to show the orders and delays that give the best fit.

For more information about the AIC criterion, see Using Akaike's Criteria to Validate Models.

How to Estimate Polynomial Models in the GUI

Before You Begin

Before you estimate polynomial models, you must have already imported your data into the GUI and performed any necessary preprocessing operations. For more information, see Preparing Data for System Identification.

This procedure also requires that you select a model structure and specify model orders and delays. For more information about how to estimate model orders and delays, see Estimating Orders and Delays in the GUI.

If you are estimating a multiple-output ARX model, you must specify order matrices in the MATLAB workspace before estimation, as described in Options for Multiple-Input and Multiple-Output ARX Orders.

Estimating Polynomial Models in the GUI

To estimate a polynomial model in the System Identification Tool GUI.

  1. In the System Identification Tool GUI, select Estimate > Linear parametric models to open the Linear Parametric Models dialog box.

  2. In the Structure list, select the polynomial model structure you want to estimate from the following options:

    This action updates the options in the Linear Parametric Models dialog box to correspond with this model structure. For information about each model structure, see What Are Black-Box Polynomial Models?.

  3. In the Orders field, specify the model orders and delays, as follows:

  4. (ARX models only) Select the estimation Method as ARX or IV (instrumental variable method). For information about the algorithms, see Algorithms for Estimating Polynomial Models.

  5. In the Name field, edit the name of the model or keep the default. The name of the model should be unique in the Model Board.

  6. In the Focus list, select how to weigh the relative importance of the fit at different frequencies. For more information about each option, see Option for Frequency-Weighing Focus.

  7. In the Initial state list, specify how you want the algorithm to treat initial states. For more information about the available options, see Options for Initial States.

  8. In the Covariance list, select Estimate if you want the algorithm to compute parameter uncertainties. Effects of such uncertainties are displayed on plots as model confidence regions.

    To omit estimating uncertainty, select None. Skipping uncertainty computation for large, multiple-output ARX models might reduce computation time.

  9. (ARMAX, OE, and BJ models only) To view the estimation progress in the MATLAB Command Window, select the Trace check box. During estimation, the following information is displayed for each iteration:

  10. Click Estimate to add this model to the Model Board in the System Identification Tool GUI.

  11. (Prediction-error method only) To stop the search and save the results after the current iteration has been completed, click Stop Iterations. To continue iterations from the current model, click the Continue iter button to assign current parameter values as initial guesses for the next search.

  12. To plot the model, select the appropriate check box in the Model Views area of the System Identification Tool GUI. For more information about validating models, see Overview of Model Validation and Plots.

If you get an inaccurate fit, try estimating a new model with different orders or structure. You can export the model to the MATLAB workspace for further analysis by dragging it to the To Workspace rectangle in the System Identification Tool GUI.

How to Estimate Polynomial Models at the Command Line

Using arx and iv4 to Estimate ARX Models

You can estimate single-output and multiple-output ARX models using the arx and iv4 commands. For information about the algorithms, see Algorithms for Estimating Polynomial Models.

If you are estimating a multiple-output ARX model, you must specify order matrices in the MATLAB workspace before estimation, as described in Options for Multiple-Input and Multiple-Output ARX Orders.

For single-output data, the arx and iv4 commands produce an idpoly model object, and for multiple-output data these commands produce an idarx model object.

You can use the following general syntax to both configure and estimate ARX models:

% Using ARX method
m = arx(data,[na nb nk],'Property1',Value1,...,
                        'PropertyN',ValueN)
% Using IV method
m = iv4(data,[na nb nk],'Property1',Value1,...,
                        'PropertyN',ValueN)

data is the estimation data and [na nb nk] specifies the model orders, as discussed in What Are Black-Box Polynomial Models?.

The property-value pairs specify any model properties that configure the estimation algorithm and the initial conditions. For more information about accessing and setting model properties, see Model Properties.

To get discrete-time models, use the time-domain data (iddata object). To get a single-output continuous-time model, apply d2c to a discrete-time model or use continuous-time frequency-domain data—either idfrd object, or frequency-domain iddata with Ts=0.

For more information about validating you model, see Overview of Model Validation and Plots.

You can use pem to refine parameter estimates of an existing polynomial model, as described in Refining Linear Parametric Models.

For detailed information about these commands, see the corresponding reference page.

Using pem to Estimate Polynomial Models

You can estimate any single-output polynomial model using the iterative prediction-error estimation method pem. For Gaussian disturbances, this method gives the maximum likelihood estimate. that minimizes the prediction errors to obtain maximum-likelihood values. The resulting models are stored as idpoly model objects.

Use the following general syntax to both configure and estimate polynomial models:

m = pem(data,'na',na,
             'nb',nb,
             'nc',nc,
             'nd',nb,
             'nf',nc,
             'nk',nk,
             'Property1',Value1,...,
             'PropertyN',ValueN)

where data is the estimation data. na, nb, nc, nd, nf are integers that specify the model orders, and nk specifies the input delays for each input. If you skip any property-value pair, the corresponding parameter value is set to zero—except nk, which has the default value 1. For more information about model orders, see What Are Black-Box Polynomial Models?.

If you want to estimate the coefficients of all five polynomials, A, B, C, D, and F, you must specify an integer order for each polynomial. However, if you want to specify an ARMAX model for example, which includes only the A, B, and C polynomials, you must set nd and nf to 0.

In addition to the polynomial models listed in What Are Black-Box Polynomial Models?, you can use pem to model the ARARX structure—called the generalized least-squares model—by setting nc=nf=0. You can also model the ARARMAX structure—called the extended matrix model—by setting nf=0.

The property-value pairs specify any model properties that configure the estimation algorithm and the initial conditions. You can enter all property-value pairs in pem as a comma-separated list without worrying about the hierarchy of these properties in the idpoly model object. For more information about accessing and setting model properties, see Model Properties.

For multiple inputs, nb, nf, and nk are row vectors of the same lengths as the number of input channels:

nb = [nb1 ...  nbnu]; 
nf = [nf1 ...  nfnu]; 
nk = [nk1 ...  nknu];

For ARMAX, Box-Jenkins, and Output-Error models—which can only be estimated using the iterative prediction-error method—use the armax, bj, and oe estimation commands, respectively. These commands are versions of pem with simplified syntax for these specific model structures, as follows:

m = armax(Data,[na nb nc nk])
m = oe(Data,[nb nf nk])
m = bj(Data,[nb nc nd nf nk])

For more information about validating you model, see Overview of Model Validation and Plots.

You can use pem to refine parameter estimates of an existing polynomial model, as described in Refining Linear Parametric Models.

For detailed information about pem and idpoly, see the corresponding reference page.

Options for Multiple-Input and Multiple-Output ARX Orders

To estimate a multiple-input and multiple-output (MIMO) ARX model, you must first specify the model order matrices, as follows:

In the System Identification Tool GUI. You can enter the matrices directly in the Orders field.

At the command line. Define variables that store the model order matrices and specify these variables in the mdoel-estimation command. You can use the following syntax to estimate a model with these orders:

arx(data,'na',NA,'nb',NB,'nk',NK)      

Option for Frequency-Weighing Focus

You can specify how the estimation algorithm weighs the fit at various frequencies. This information supports the estimation procedures How to Estimate Polynomial Models in the GUI and Using pem to Estimate Polynomial Models.

In the System Identification Tool GUI. Set Focus to one of the following options:

At the command line. Specify the focus as an argument in the model-estimation command using the same options as in the GUI. For example, use this command to estimate an ARX model and emphasize the frequency content related to the input spectrum only:

m=arx(data,[2 2 3],'Focus','Simulation')

This Focus setting might produce more accurate simulation results.

Options for Initial States

When you use the iterative estimation algorithm PEM to estimate ARMAX, Box-Jenkins (BJ), Output-Error (OE), you must specify how the algorithm treats initial states.

This information supports the estimation procedures How to Estimate Polynomial Models in the GUI and Using pem to Estimate Polynomial Models.

In the System Identification Tool GUI. For ARMAX, OE, and BJ models, set Initial state to one of the following options:

At the command line. Specify the initial states as an argument in the model-estimation command. For example, use this command to estimate an ARMAX model and set the initial states to zero:

m=armax(data,[2 2 2 3],'InitialState','zero')

For a complete list of values for the InitialState model property, see the idpoly reference page.

Algorithms for Estimating Polynomial Models

For linear ARX and AR models, you can choose between the ARX and IV algorithms. ARX implements the least-squares estimation method that uses QR-factorization for overdetermined linear equations. IV is the instrumental variable method. For more information about IV, see the section on variance-optimal instruments in System Identification: Theory for the User, Second Edition, by Lennart Ljung, Prentice Hall PTR, 1999.

The ARX and IV algorithms treat noise differently. ARX assumes white noise. However, the instrumental variable algorithm, IV, is not sensitive to noise color. Thus, use IV when the noise in your system is not completely white and it is incorrect to assume white noise. If the models you obtained using ARX are inaccurate, try using IV.

Example – Estimating Models Using armax

You can use estimation commands to both construct a model object and estimate the model parameters. In this example, you estimate a linear, polynomial model with an ARMAX structure for a three-input and single-output (MISO) system using the iterative estimation method armax. For a summary of all available estimation commands in the toolbox, see Commands for Model Estimation.

  1. Load a sample data set z8 with three inputs and one output, measured at 1-second intervals and containing 500 data samples:

    load iddata8
  2. Use armax to both construct the idpoly model object, and estimate the parameters:

    Typically you try different model orders and compare results, ultimately choosing the simplest model that best describes the system dynamics. The following command specifies the estimation data set, z8, and the orders of the A, B, and C polynomials as na, nb, and nc, respectively. nk of [0 0 0] specifies that there is no input delay for all three input channels.

    m_armax=armax(z8,'na',4,...
                     'nb',[3 2 3],...
                     'nc',4,...
                     'nk',[0 0 0],...
                     'focus', 'simulation',...
                     'tolerance',1e-5,...
                     'maxiter',50);

    covariance, focus, tolerance, and maxiter are optional arguments specify additional information about the computation. focus specifies whether the model is optimized for simulation or prediction applications, tolerance and maxiter specify when to stop estimation. For more information about these properties, see the algorithm properties reference page.

    armax is a version of pem with simplified syntax for the ARMAX model structure. The armax method both constructs the idpoly model object and estimates its parameters.

  3. To view information about the resulting model object, type the following at the prompt:

    m_armax

    MATLAB returns the following information about this model object:

    Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)
    
    A(q) = 1 - 1.255q^-1 + 0.2551q^-2 + 0.2948q^-3 - 0.0619q^-4
    B1(q) = -0.09168 + 1.105q^-1 + 0.7399q^-2
    B2(q) = 1.022 + 0.129q^-1
    B3(q) = -0.07605 + 0.08681q^-1 + 0.5619q^-2
    C(q) = 1-0.06117q^-1 - 0.1461q^-2 + 0.009862q^-3 - 0.04313q^-4
    
    Estimated using ARMAX from data set z8
    Loss function 2.23844 and FPE 2.35202
    Sampling interval: 1

    m_armax is an idpoly model object. The coefficients represent estimated parameters of this polynomial model.

  4. To view all property values for this model, type the following command:

    get(m_armax
    ans = 
                       a: [1 -1.2549 0.2551 0.2948 -0.0619]
                       b: [3x3 double]
                       c: [1 -0.0612 -0.1461 0.0099 -0.0431]
                       d: 1
                       f: [3x1 double]
                      da: []
                      db: [3x0 double]
                      dc: []
                      dd: []
                      df: [3x0 double]
                      na: 4
                      nb: [3 2 3]
                      nc: 4
                      nd: 0
                      nf: [0 0 0]
                      nk: [0 0 0]
            InitialState: 'Auto'
                    Name: ''
                      Ts: 1
               InputName: {3x1 cell}
               InputUnit: {3x1 cell}
              OutputName: {'y1'}
              OutputUnit: {''}
                TimeUnit: ''
         ParameterVector: [16x1 double]
                   PName: {}
        CovarianceMatrix: [16x16 double]
           NoiseVariance: 0.9932
              InputDelay: [3x1 double]
               Algorithm: [1x1 struct]
          EstimationInfo: [1x1 struct]
                   Notes: {}
                UserData: []
  5. The Algorithm and EstimationInfo model properties are structures. To view the properties and values inside these structure, use dot notation. For example:

    m_armax.Algorithm

    This action displays the complete list of Algorithm properties and values that specify the iterative computational algorithm:

    ans =
               Approach: 'Pem'
                  Focus: 'Simulation'
                MaxIter: 50
              Tolerance: 1.0000e-005
             LimitError: 1.6000
                MaxSize: 'Auto'
        SearchDirection: 'Auto'
         FixedParameter: []
                  Trace: 'Off'
               N4Weight: 'Auto'
              N4Horizon: 'Auto'
               Advanced: [1x1 struct]

    Similarly, to view the properties and values of the EstimationInfo structure, type the following command:

    m_armax.EstimationInfo

    This action displays the complete list of read-only EstimationInfo properties and values that describe the estimation data set, quantitative measures of model quality (loss command and FPE), the number of iterations actually used, and the behavior of the iterative model estimation.

    ans =
                 Status: 'Estimated model (PEM)'
                 Method: 'ARMAX'
                LossFcn: 0.9602
                    FPE: 1.0263
               DataName: 'z8'
             DataLength: 500
                 DataTs: 1
             DataDomain: 'Time'
        DataInterSample: {3x1 cell}
                WhyStop: 'Near (local) minimum, (norm(g)<tol).'
             UpdateNorm: 8.0572e-006
        LastImprovement: '7.4611e-006%'
             Iterations: 4
           InitialState: 'Zero'
                Warning: 'None'
  6. If you want to repeat the model estimation using different model orders, but keep the algorithm properties the same, you can store the model properties used for m_armax in a variable, as follows:

    myAlg=m_armax.Algorithm

    This action stores the specified focus, tolerance, and maxiter, and the default algorithm.

  7. To reuse the algorithm properties in estimating the ARMAX model with different orders, use the following command:

    m_armax2=armax(z8,[4 3 2 3 3 1 1 1],...
                     'algorithm',myAlg);

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS