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
.
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')
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 |
Use sigmoidnet
to specify the nonlinear
estimator in nonlinear ARX and Hammerstein-Wiener models. For example:
m=nlarx(Data,Orders,sigmoidnet('num',5));
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, a, and c are scalars.
L is a p
-by-1
vector.
b are q
-by-1
vectors.
sigmoidnet
uses an iterative search technique
for estimating parameters.