Main Content

Class representing neural network nonlinearity estimator for nonlinear ARX models

`net_estimator = neuralnet(Network)`

`neuralnet`

is the class that encapsulates
the neural network nonlinearity estimator. A `neuralnet`

object
lets you use networks, created using Deep Learning Toolbox™ software,
in nonlinear ARX models.

The neural network nonlinearity estimator defines a nonlinear
function $$y=F(x)$$, where *F* is
a multilayer feed-forward (static) neural network, as defined in the Deep Learning Toolbox software. *y* is
a scalar and *x* is an `m`

-dimensional
row vector.

You create multi-layer feed-forward neural networks using Deep Learning Toolbox commands
such as `feedforwardnet`

(Deep Learning Toolbox), `cascadeforwardnet`

(Deep Learning Toolbox) and `linearlayer`

(Deep Learning Toolbox). When you create the network:

Designate the input and output sizes to be unknown by leaving them at the default value of zero (recommended method). When estimating a nonlinear ARX model using the

`nlarx`

command, the software automatically determines the input-output sizes of the network.Initialize the sizes manually by setting input and output ranges to

`m`

-by-2 and 1-by-2 matrices, respectively, where`m`

is the number of nonlinear ARX model regressors and the range values are minimum and maximum values of regressors and output data, respectively.

See Examples for more information.

Use `evaluate(net_estimator,x)`

to compute
the value of the function defined by the `neuralnet`

object `net_estimator`

at
input value *x*. When used for nonlinear ARX model
estimation, *x* represents the model regressors for
the output for which the `neuralnet`

object is
assigned as the nonlinearity estimator.

You cannot use `neuralnet`

when the `Focus`

option
in `nlarxOptions`

is `'simulation'`

because
this nonlinearity estimator is considered to be nondifferentiable
for estimation. Minimization of simulation error requires differentiable
nonlinear functions.

creates
a neural network nonlinearity estimator based on the feed-forward
(static) network object `net_estimator`

= neuralnet(`Network`

)`Network`

created using Deep Learning Toolbox commands `feedforwardnet`

, `cascadeforwardnet`

,
and `linearlayer`

. `Network`

must
represent a static mapping between the inputs and output without I/O
delays or feedback. The number of outputs of the network, if assigned,
must be one. For a multiple-output nonlinear ARX models, create a
separate `neuralnet`

object for each output—that
is, each estimator must represent a single-output network object.

`Network` | Neural network object, typically created using the Deep Learning Toolbox commands `feedforwardnet` , `cascadeforwardnet` ,
and `linearlayer` . |

After creating the object, you can use `get`

or
dot notation to access the object property values. For example:

% List Network property value get(n) n.Network

You can also use the `set`

function to set
the value of particular properties. For example:

set(d, 'Network', net_obj)

`set`

must be the name of a MATLABThe `nlarx`

command uses
the `train`

method of the `network`

object,
defined in the Deep Learning Toolbox software, to compute the
network parameter values.

`customnet`

| `nlarx`

| `sigmoidnet`

| `treepartition`

| `wavenet`

| `cascadeforwardnet`

(Deep Learning Toolbox) | `feedforwardnet`

(Deep Learning Toolbox) | `linearlayer`

(Deep Learning Toolbox)