| System Identification Toolbox™ | ![]() |
Class representing sigmoid network nonlinearity estimator for nonlinear ARX and Hammerstein-Wiener models
s=sigmoidnet('NumberOfUnits',N)
s=sigmoidnet(Property1,Value1,...PropertyN,ValueN)
sigmoidnet is an object that stores the sigmoid network nonlinear estimator for estimating nonlinear ARX and Hammerstein-Wiener models.
You can use the constructor to create the nonlinearity object, as follows:
s=sigmoidnet('NumberOfUnits',N) creates a sigmoid nonlinearity estimator object with N terms in the sigmoid expansion.
s=sigmoidnet(Property1,Value1,...PropertyN,ValueN) creates a sigmoid nonlinearity estimator object specified by properties in sigmoidnet Properties.
Use evaluate(s,x) to compute the value of the function defined by the sigmoidnet object s at x.
Use sigmoidnet to define a nonlinear function
, where y is scalar and x is an m-dimensional
row vector. The sigmoid network function is based on the following
expansion:
![]()
where f is the sigmoid function, given by the following equation:
![]()
P and Q are m-by-p and m-by-q projection matrices. The projection matrices P and Q are determined by principal component analysis of estimation data. Usually, p=m. If the components of x in the estimation data are linearly dependent, then p<m. The number of columns of Q, q, corresponds to the number of components of x used in the sigmoid function.
When used in a nonlinear ARX model, q is equal to the size of the NonlinearRegressors property of the idnlarx object. When used in a Hammerstein-Wiener model, m=q=1 and Q is a scalar.
r is a 1-by-m vector and represents the mean value of the regressor vector computed from estimation data.
d, ak, and ck are scalars.
L is p-by-1 vector.
bk are q-by-1 vectors.
You can include property-value pairs in the constructor to specify the object.
After creating the object, you can use get or dot notation to access the object property values. For example:
% List all property values get(s) % Get value of NumberOfUnits property s.NumberOfUnits
You can also use the set function to set the value of particular properties. For example:
set(s, 'LinearTerm', 'on')
The first argument to set must be the name of a MATLAB® variable.
| Property Name | Description |
|---|---|
| NumberOfUnits | Integer specifies the number of nonlinearity units in
the expansion. For example: sigmoidnet(H,'NumberOfUnits',5) |
| LinearTerm | Can have the following values:
For example: sigmoidnet(H,'LinearTerm','on') |
| Parameters | A structure containing the parameters in the nonlinear expansion, as follows:
Typically, the values of this structure are set by estimating a model with a sigmoidnet nonlinearity. |
Use sigmoidnet to specify the nonlinear estimator in nonlinear ARX and Hammerstein-Wiener models. For example:
m=nlarx(Data,Orders,sigmoidnet('num',5));| nlarx | |
| nlhw |
![]() | setstruc | sim | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |