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

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

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?
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

Asked:

on 29 May 2023

Edited:

cr
on 1 Jun 2023

Community Treasure Hunt

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

Start Hunting!