How to set a variable in the simulink workspace from the model itself?
3 views (last 30 days)
Show older comments
My simulink Model uses Variables from its Model workspace. I can change those variables in the "Model Explorer" and from a matlab script. The problem is, that the value of those variables are the result of a calculation, so using the model explorer is not an option and using an external matlab script is cumbersome. I want to change the value from a signal in the model, meaning I can set a constant, this goes through a calculation, to produce the values for the variables, the variables are set and the model can begin. Is that possible? Is there an alternative?
2 Comments
Paul
on 29 May 2023
Hi David,
Is the variable that results from the calculation that starts from the constant going to be used as a parameter in a block in the model?
Answers (1)
cr
on 30 May 2023
Edited: cr
on 1 Jun 2023
You can use model callback functions. E.g. Preload, postload, init. See more info here https://mathworks.com/help/simulink/ug/model-callbacks.html
To set up a cb just rightclick in the white space and select Model properties > Callbacks tab. You can select the preload or init callback and write your matlab code there. Or write the code in a separate m file and then call the script name in the callback function.
Regards
0 Comments
See Also
Categories
Find more on Model, Block, and Port Callbacks 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!