Saving variable of selected value from simulink matlab fcn to workspace

10 views (last 30 days)
Hi, I need to save a variable's value from a Matlab fcn block in simulink into workspace for use. But I only want to save the value under certain condition, so there's a IF statement , so something like ias_temp=0;
if(...)
ias_temp=input;
save ias_temp into workspace;
end
it's sort of like to create a memory where you can store a value and hold it over there until you rewrite to it next time.
In addition, I will be using the variable in the Matlab fcn block also, so I need to read the value saved in workspace.
Is there any way to do this? I've tried a lot of ways but they don't work as I wanted it.
Thanks!
yida

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 8 Aug 2013
assignin('base','variable_name',your_fcn_variable)
  1 Comment
yida
yida on 8 Aug 2013
Hi Azzi, it seems to be working. except for that a eml.extrinsic('assignin') needed to be added. So in addition, how can you retreive the value?
Thank you!

Sign in to comment.


Kaustubha Govind
Kaustubha Govind on 8 Aug 2013
Is there a reason the value needs to be stored to the MATLAB workspace? You could either use a persistent variable if the value will only be used in the MATLAB Function block, or to share the data globally, see Share Data Globally.
  2 Comments
yida
yida on 9 Aug 2013
Hi Kaustubha, I tried the persistent variable, but it does not work. I have to store it somewhere else. Otherwise, it is just gonna either be overwritten by values I don't want or it will create error which says something like variable not defined in all executive paths...
Kaustubha Govind
Kaustubha Govind on 9 Aug 2013
yida: Could you paste some sample code on how you are using the persistent variable?

Sign in to comment.

Categories

Find more on Programmatic Model Editing in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!