Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

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`

, `cascadeforwardnet`

and `linearlayer`

. 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.

`cascadeforwardnet`

| `customnet`

| `feedforwardnet`

| `linearlayer`

| `nlarx`

| `sigmoidnet`

| `treepartition`

| `wavenet`