Neural Network Simulink Block Library

The Neural Network Toolbox™ product provides a set of blocks you can use to build neural networks using Simulink® software, or that the function gensim can use to generate the Simulink version of any network you have created using MATLAB® software.

Open the Neural Network Toolbox block library with the command:

neural

This opens a library window that contains five blocks. Each of these blocks contains additional blocks.

Transfer Function Blocks

Double-click the Transfer Functions block in the Neural library window to open a window containing several transfer function blocks.

Each of these blocks takes a net input vector and generates a corresponding output vector whose dimensions are the same as the input vector.

Net Input Blocks

Double-click the Net Input Functions block in the Neural library window to open a window containing two net-input function blocks.

Each of these blocks takes any number of weighted input vectors, weight layer output vectors, and bias vectors, and returns a net-input vector.

Weight Blocks

Double-click the Weight Functions block in the Neural library window to open a window containing three weight function blocks.

Each of these blocks takes a neuron's weight vector and applies it to an input vector (or a layer output vector) to get a weighted input value for a neuron.

It is important to note that these blocks expect the neuron's weight vector to be defined as a column vector. This is because Simulink signals can be column vectors, but cannot be matrices or row vectors.

It is also important to note that because of this limitation you have to create S weight function blocks (one for each row), to implement a weight matrix going to a layer with S neurons.

This contrasts with the other two kinds of blocks. Only one net input function and one transfer function block are required for each layer.

Processing Blocks

Double-click the Processing Functions block in the Neural library window to open a window containing processing blocks and their corresponding reverse-processing blocks.

Each of these blocks can be used to preprocess inputs and postprocess outputs.

Was this topic helpful?