I understand that you want to implement a neural network using blocks in Simulink such that all the involved parameters can be set by you.
You can consider using ‘Subsystem’ blocks for building a neural network in Simulink, where each ‘subsystem’ block represents one neuron, and the ‘signals’ between them depict the connections between those neurons. Below are few suggestions on the type of Simulink blocks that you might consider using in your neural network model:
1) Within each subsystem:
- ‘Gain’ blocks: for applying weights to the input signals
- ‘Sum’ blocks: for summing the weighted inputs and the bias
- ‘Constant’ block: for the bias
- ‘MATLAB Function’ block: For implementing the activation function
A single custom ‘subsystem’ created using the above-mentioned blocks will function analogous to a neuron in neural networks.
2) Alternatively, you may consider using a single ‘MATLAB function’ block instead and implement the entire logic within the corresponding function.
Although Simulink can be used to build simple neural networks using the simple blocks to implement the entire logic, its not typically recommended for large or complex networks due to the manual effort and complexity involved. For practical applications, especially those involving deep learning, using MATLAB's Toolboxes like the ‘Deep Learning Toolbox’ is more efficient.
You may refer to the following documentations for more information on Simulink blocks:
Hope this helps!