Class representing wavelet network nonlinearity estimator for nonlinear ARX and Hammerstein-Wiener models




wavenet is an object that stores the wavelet network nonlinear estimator for estimating nonlinear ARX and Hammerstein-Wiener models.

You can use the constructor to create the nonlinearity object, as follows:

s=wavenet('NumberOfUnits',N) creates a wavelet nonlinearity estimator object with N terms in the wavelet expansion.

s=wavenet(Property1,Value1,...PropertyN,ValueN) creates a wavelet nonlinearity estimator object specified by properties in wavenet Properties.

Use evaluate(s,x) to compute the value of the function defined by the wavenet object s at x.

wavenet Properties

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 value of NumberOfUnits property

You can also use the set function to set the value of particular properties. For example:

h set(w, 'LinearTerm', 'on')

The first argument to set must be the name of a MATLAB® variable.

Property NameDescription

Integer specifies the number of nonlinearity units in the expansion.

For example:


Can have the following values:

  • 'on' — (Default) Estimates the vector L in the expansion.

  • 'off' — Fixes the vector L to zero and omits the term (xr)PL.

For example:


Structure containing the parameters in the nonlinear expansion, as follows:

  • RegressorMean: 1-by-m vector containing the means of x in estimation data, r.

  • NonLinearSubspace: m-by-q matrix containing Q.

  • LinearSubspace: m-by-p matrix containing P.

  • LinearCoef: p-by-1 vector L.

  • ScalingDilation: ns-by-1 matrix containing the values bs_ns.

  • WaveletDilation: nw-by-1 matrix containing the values bw_nw.

  • ScalingTranslation: ns-by-q matrix containing the values cs_ns.

  • WaveletTranslation: nw-by-q matrix containing the values cw_nw.

  • ScalingCoef: ns-by-1 vector containing the values as_ns.

  • WaveletCoef: nw-by-1 vector containing the values aw_nw.

  • OutputOffset: scalar d.


Structure containing the following fields that affect the initial model:

  • FinestCell: Integer or string specifying the minimum number of data points in the smallest cell. A cell is the area covered by the significantly nonzero portion of a wavelet. Default: 'auto', which computes the value from the data.

  • MinCells: Integer specifying the minimum number of cells in the partition. Default: 16.

  • MaxCells: Integer specifying the maximum number of cells in the partition. Default: 128.

  • MaxLevels: Integer specifying the maximum number of wavelet levels. Default: 10.

  • DilationStep: Real scalar specifying the dilation step size. Default: 2.

  • TranslationStep: Real scalar specifying the translation step size. Default: 1.


Use wavenet to specify the nonlinear estimator in nonlinear ARX and Hammerstein-Wiener models. For example:


More About

expand all


Use wavenet to define a nonlinear function y=F(x), where y is scalar and x is an m-dimensional row vector. The wavelet network function is based on the following function expansion:

F(x)=(xr)PL+as_1f(bs_1((xr)Qcs_1))+                          +as_nsf(bs_ns((xr)Qcs_ns))                          +aw_1g(bw_1((xr)Qcw_1))+                          +aw_nwg(bw_nw((xr)Qcw_nw))+d


  • f is a scaling function.

  • g is the wavelet function.

  • P and Q are m-by-p and m-by-q projection matrices, respectively.

    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 scaling and wavelet 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, as, bs, aw, and bw are scalars. Parameters with the s subscript are scaling parameters, and parameters with the w subscript are wavelet parameters.

  • L is a p-by-1 vector.

  • cs and cw are 1-by-q vectors.

The scaling function f and the wavelet function g are both radial functions, as follows:

f(x)=e-0.5xxg(x) = (Nr-xx)e-0.5xx

where Nr is the length of x (number of regressors).


When the idnlarx property Focus is 'Prediction', wavenet uses a fast, noniterative technique for estimating parameters. Successive refinements after the first estimation use an iterative algorithm.

When the idnlarx property Focus='Simulation', wavenet uses an iterative technique for estimating parameters.

To always use noniterative or iterative algorithm, specify the IterWavenet algorithm property of the idnlarx class.

See Also


Was this topic helpful?