How to set a variable in the simulink workspace from the model itself?

3 views (last 30 days)
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
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?
David Boelke
David Boelke on 30 May 2023
Hi Paul, Yes. I want to set the constant, Pass it through the calculation, which results in my parameters and then use those parameters in a transfer function.

Sign in to comment.

Answers (1)

cr
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

Products

Community Treasure Hunt

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

Start Hunting!