Clear Filters
Clear Filters

Dynamic system modelling with neuronal networks

13 views (last 30 days)
My task ist to use neural networks to (blackbox-) model the dynamic behaviour of a real system. I do not know it's physics but I have access to time dependet measurement and input data. With them the training should be done.
To simplify my question, let's consinder the data vector with 500 entries each column:
data_vec = [input, measurement1, measurement2] = [in(k_1), m1(k_1), m2(k_1)
in(k_2), m1(k_2), m2(k_2)
... ... ... ]
And also known ist the equidistant sampling time t between k_n and k_(n+1).
I already worked with shallow ANNs in MATLAB but only trained them with stady state data like e.g. maps. Now I' struggling how to consider the time dependence in a correct way. In the end, the neural network should be able to represent the whole systems dynamic behaviour. For example in terms of predicting a certain step response (wich was not part of the training data time series).
What is the recommended workflow for this task?
I would be very pleased for any help!

Accepted Answer

Arkadiy Turevskiy
Arkadiy Turevskiy on 17 Oct 2023
We have see that neural ODEs do very well with capturing nonlinear dynamics. System Identification Toolbox provides a pretty simple api for training such architectures. There is a command line support as well as a live task that reduced the need for writing code. In our experience this architecture (we call it neural state space) does better than fully connected networks and LSTMs for modeling nonlinear dynamics.
Once trained, the model can be easily brought into Simulink too for fast simulation if you care about that.
Here is a link to doc content, you will find a few examples here as well.
Hope it helps.
Philipp on 19 Oct 2023
Thank you, Arkadiy!
This sounds very interesting and I never heared of this before.
Can you recommend some types of input data behaviour to be test in order to get a good representation? Intuitively I would assume input steps?
Arkadiy Turevskiy
Arkadiy Turevskiy on 23 Oct 2023
You are welcome Philipp.
For inouts it is probably best to do some sort of series of steps. Something like Sobol sequence or Psudo-random binary sequence. Suggest you try to get good coverage of design space.

Sign in to comment.

More Answers (0)


Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!