A way to make the Simulink program run and then perform the calculation

1 view (last 30 days)
I want to put this code into matlab Function but this calculation is only done when the program in simulink is finished running. So is there a way to make the Simulink program run and then perform the calculation?

Accepted Answer

Jon
Jon on 19 May 2023
You can set the model's StopFcn call back for this purpose.
Go to the Modeling tab, model settings, properties,callbacks, and assign your stop function there.
Provide the name of the script or function to be executed in the StopFcn callback property.
Note the script must use values that are assigned in the workspace, so you should provide some to workspace blocks or use other means (assign data logging) to the outputs of interest so they will be in the workspace after the simulation stops.
  2 Comments
THANH DAT
THANH DAT on 23 May 2023
Thank you very much, but i can't put this value from Callback function to Constant after Simulation stop. Do you have any suggestion for this?
Jon
Jon on 24 May 2023
Sorry I'm not completely clear on what you are trying to do and what problem you are having.
With the StopFcn, shown above, the new value for the variable, Angle, will be assigned in you base workspace after the run is completed. If you run the model again, the new value will be used. If you need to initialize the variable, Angle, for the first time you open and run the model you could do that in a script that you run before running the model. This could also be put into a model Callback function, such as InitFcn

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!