nlarx - Estimate nonlinear ARX models

Syntax

m=nlarx(data,[na nb nk],Nonlinearity)
m=nlarx(data,[na nb nk],P1,V1,...,PN,VN)

Input

data

Time-domain iddata model object.

[na nb nk]

na is the number of output terms, nb is the number of input terms, and nk is the input delays from each input to output.

For ny outputs and nu inputs, [na nb nk] has as many rows as there are outputs. In this case, na is an ny-by-ny matrix whose i-jth entry gives the number of delayed jth outputs used to compute the ith output. nb and nk are ny-by-nu matrices.

These orders specify the regressors and the predicted output is the following function of these regressors:

Nonlinearity

Specifies the nonlinearity estimator object as one of the following: sigmoidnet (default), wavenet, treepartition, customnet, neuralnet, and linear.

For ny outputs, Nonlinearity is an ny-by-1 array, such as [sigmoidnet;wavenet]. However, if you specify a scalar object, this nonlinearity object applies to all outputs.

For more information about nonlinearity properties, see the corresponding reference pages.

Description

m=nlarx(data,[na nb nk],Nonlinearity) constructs and estimates a nonlinear ARX model with orders [na nb nk] and Nonlinearity. data is the estimation data set.

m=nlarx(data,[na nb nk],P1,V1,...,PN,VN) constructs and estimates the model with additional property-value pairs. For more information about model idnlarx model properties, see the corresponding reference pages.

Examples

The following commands construct and estimate a nonlinear ARX model:

load iddata1
m1=nlarx(z1,[4 2 1],'wave','nlr',[1:3])

To perturb the parameters slightly and avoid being trapped in local minima, use the init command:

m2=init(m1)

Estimate the model with perturbed initial parameter values, use the following command:

m2=nlarx(z1,m2)

See Also

addreg 
customreg 
getreg 
idnlarx 
init 
polyreg 

  


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