How to log signal data from simulink to matlab with higher time interval to avoid high data storage?

2 views (last 30 days)
In my problem of Reinforcement Learning, I am using a sample time of 0.3 sec and have a variable step solver in simulink. I want to run my simulation for 1000 episodes, and for each episode, I have logged a signal data. However, when accessing that in Matlab, I get data with interval of 0.001 sec. I want the data to be logged at 0.3 sec, which will be enough to get average value and at the same time use less memory.
Can we change the time step interval to store log signal irrespective to sample time or step size?
  3 Comments
Parth Patel
Parth Patel on 9 Mar 2023
With option 'Log Selected Signals' on right clicking required signal in simulink.
Is this what you meant to know?

Sign in to comment.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 9 Mar 2023
Set the "Decimate data" to be 300. It means log every 300th data. It may not guarantee 0.3 second if using variable step size solver. It has to work with your solver and step size. Other logging methods have similar "Decimate data" setting.

More Answers (1)

Emmanouil Tzorakoleftherakis
If you are using R2022b, please take a look at this page. We recently added enhanced logging capabilities in Reinforcement Learning Toolbox so you have more flexibility over what and when to log. For example you can log a signal after an agent takes a step which ensures that you will have 0.3s sample time.

Community Treasure Hunt

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

Start Hunting!