MATLAB Answers

How to update variable in Workspace during simulation?

162 views (last 30 days)
rach on 29 May 2012
Commented: tq yu on 15 May 2019
Hi all,
I have a simulink simulation that runs for 20s. At every 5s, it will generate a new set of data, which needs to be written to the workspace automatically. (Hence, the values in workspace should be updated automatically every 5s).
Right now, even though I try to write to the workspace every 5s, the values in the workspace remain at its initial value throughout the simulation and only update at the very end of the entire simulation time (i.e. after 20s).
May I know what should I do? Any advice or help is really greatly appreciated!
Best Regards, Rachel

Answers (2)

Kaustubha Govind
Kaustubha Govind on 29 May 2012
I'm assuming that you are using something like the To Workspace block to write data to the workspace? I explained a little in my second paragraph over here, why I think that operation is not guaranteed to be completed until the end of simulation.
However, it seems (from your comment to the cyclist's answer) the broader issue is that you are attempting to update a block parameter based on a signal. Read this blog post to understand why that cannot be done.
TAB on 30 May 2012
To read the value from specific workspace used "evalin" command.
>> doc evalin

Sign in to comment.

the cyclist
the cyclist on 29 May 2012
I am not familiar with simulink, but will the assignin() command solve your problem?
>> doc assignin
tq yu
tq yu on 15 May 2019
Hi , Lan ,have you solved your problem ?I have the datas in workspace that are time-updating ,how can i sen these datas to simulink models to achive rea-time simulation?Thks a lot

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!