idPiecewiseLinear
Create a piecewiselinear nonlinearity estimator object
Syntax
NL = idPiecewiseLinear
NL = idPiecewiseLinear(Name,Value)
Description
creates a default
piecewiselinear nonlinearity estimator object with 10 break points for estimating
HammersteinWiener models. The value of the nonlinearity at the break points are set to
NL
= idPiecewiseLinear[]
. The initial value of the nonlinearity is determined from the
estimation data range during estimation using nlhw
. Use dot notation to customize the object properties, if
needed.
creates a piecewiselinear nonlinearity estimator object with properties specified by
one or more NL
= idPiecewiseLinear(Name,Value
)Name,Value
pair arguments. The properties that you do
not specify retain their default value.
Object Description
idPiecewiseLinear
is an object that stores the piecewiselinear
nonlinearity estimator for estimating HammersteinWiener models.
Use idPiecewiseLinear
to define a nonlinear function $$y=F(x,\theta )$$, 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 piecewiselinear
(affine) function of x. There are n
breakpoints
(x_{k},y_{k}), k =
1,...,n, such that y_{k} =
F(x_{k}). F is
linearly interpolated between the breakpoints.
F is also linear to the left and right
of the extreme breakpoints. The slope of these extensions is a function
of x_{i} and y_{i} breakpoints.
The breakpoints are ordered by ascending x
values,
which is important when you set a specific breakpoint to a different
value.
There are minor difference between the breakpoint values you set and the values stored in the object because the toolbox has a different internal representation of breakpoints.
For example, in the following plot, the breakpoints are x_{k} = [2,1,4] and the corresponding nonlinearity values are y_{k} = [4,3,5].
The value F(x)
is computed by evaluate(NL,x)
, where
NL
is the idPiecewiseLinear
object. When
using evaluate
, the break points have to be initialized
manually.
For idPiecewiseLinear
object properties, see Properties.
Examples
Input Arguments
NameValue Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Namevalue arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Use Name,Value
arguments to specify additional properties of the
idPiecewiseLinear
nonlinearity. For example, NL=
idPiecewiseLinear('NumberofUnits',5)
creates a piecewiselinear
nonlinearity estimator object with 5 breakpoints.
Properties
idPiecewiseLinear
object properties include:

Number of breakpoints, specified as an integer. Default: 

Break points, x_{k}, and the corresponding nonlinearity values at the breakpoints, y_{k}, specified as one of the following:
When the nonlinearity object is created, the breakpoints are ordered by
ascending Default: 

Option to fix or free the values in the mapping object, specified as a
logical scalar. When you set an element of Default: 