idPiecewiseLinear
Piecewise-linear nonlinearity estimator object
Description
The idPiecewiseLinear object stores the piecewise-linear
nonlinearity estimator for estimating Hammerstein-Wiener models.
Use idPiecewiseLinear to define a nonlinear function , where y and x are scalars, and
θ represents the parameters specifying the number of break points and the
value of nonlinearity at the break points. The nonlinearity function, F, is
a piecewise-linear (affine) function of x. There are n
break points
(xk,yk),
k = 1,...,n, such that yk =
F(xk). F is linearly interpolated between the break points.
F is also linear to the left and right of the extreme break points. The
slope of these extensions is a function of xi and
yi break points.
The break points are ordered by ascending x values, which is important to consider when you want to set a specific break point to a different value. There are minor differences between the break point values you set and the values stored in the object because the toolbox has a different internal representation of break points.
For example, in this plot, the break points are xk = [-2,1,4] and the corresponding nonlinearity values are yk = [4,3,5].

You compute the value of F(x) using evaluate(NL,x),
where NL is the idPiecewiseLinear object. When using
evaluate, you have to initialize the break points manually.
For idPiecewiseLinear object properties, see Properties.
Creation
Description
creates a default
piecewise-linear nonlinearity estimator object with 10 break points for estimating
Hammerstein-Wiener models. The break points and their nonlinearities are set to
NL = idPiecewiseLinear[]. The initial values of the nonlinearities are determined from the
estimation data range during estimation using nlhw.
creates a piecewise-linear nonlinearity estimator object with properties specified by one
or more name-value arguments.NL = idPiecewiseLinear(Name=Value)