How to store data while simulating a model?

4 visualizaciones (últimos 30 días)
roro6992
roro6992 el 11 de Jun. de 2014
Comentada: roro6992 el 14 de Jun. de 2014
Hi everyone, i have written a s function in which i want to store the data generated during one simulation loop and use that data in the next simulation loop. How can i do this? Is there any way of storing the data in a matrix and retrieving that data matrix in the next simulation step?? Please help. Thanks!

Respuestas (3)

Abhishek M
Abhishek M el 11 de Jun. de 2014

David Sanchez
David Sanchez el 11 de Jun. de 2014
You need to add two blocks to your model.
1) to save data, ad "To Workspace" block. This will send and save data into the workspace
2) to get data, add "From Workspace" block.This will read data stored in the workspace.
Properly done, you can link data from one simulation to the next.
Read the documentation for examples on deeper detail
  1 comentario
roro6992
roro6992 el 11 de Jun. de 2014
Actually I have written a matlab level 1 S function and i wonder how can i store the various data generated in the update stage of the S function and use it in the next time step of the simulation of the model containing the s function. Is there any way? Please suggest.

Iniciar sesión para comentar.


Kaustubha Govind
Kaustubha Govind el 13 de Jun. de 2014
You can use states in an S-function to store data from previous time step(s). Note that Level-1 S-functions are no longer supported, and only exist for backwards compatibility reasons. Please convert it to a Level-2 MATLAB S-function of possible. Type sfcndemo_sfundsc2 at the MATLAB prompt to open a Level-1 S-function example that uses a state to store the value of the previous input (thus acting as a Unit Delay). Type msfcndemo_sfundsc2 to see the Level-2 S-function version of the same algorithm.
  1 comentario
roro6992
roro6992 el 14 de Jun. de 2014
Thanks. I have converted it to a level 2 matlab s function and used the Dwork vector to store the variable data. I needed seven dwork vectors. But while i am simulating the model including the s func block...the simulation is taking too long to respond and its showing the word 'Initializing' in the bottom left corner and after sometime matlab stops responding. Why is this happening? Would u please check my code? and tell whats wrong? The code is attached.

Iniciar sesión para comentar.

Categorías

Más información sobre Block and Blockset Authoring en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by