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
)