Neural network working properly on Matlab but not in Simulink

8 views (last 30 days)
Hello,
I have trained a NARX type neural network using the NNTOOL tool and when I simulate the network for a given input in Matlab using the command
output=sim(net,input)
I get a satisfactory result.
The problem is that when transferring the network to Simulink using the command
gensim(net,ts)
I obtain a model that does not give good results in Simulink, the output signals being very different from what they should be.
What am I doing wrong when transferring the net to a Simulink block so it doesn't work well ?
Thanks in advance.

Answers (1)

Tarunbir Gambhir
Tarunbir Gambhir on 25 May 2021
Please see the documentation page for gensim. When giving a parameter for 'SampleTime', its value may be -1 or any integer greater or equal to 1. However, this may override the default sample time of the trained model and lead to differences in the simulation result.
If you explicitly define the sample time, you should be able to see exactly the same output from MATLAB and Simulink.
  2 Comments
Haritz Odriozola Olalde
Haritz Odriozola Olalde on 8 Jun 2021
Hi Tarunbir,
I have read the gensim documentation page and it does not appear anywhere that the sampling time must be an integer. In fact, we have tried entering st=0.00025 and it works. Still, we have found where the problem was, so thank you very much for your answer.
Regards
akram
akram on 18 Feb 2023
Hello, I have exactely the same problem, did you find the solution ?

Sign in to comment.

Categories

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!