Simulation manager with initFcn
Ältere Kommentare anzeigen
I'd need to run multiple simulation runs with using Simulation Manager "Multiple Simulations". My simulik model uses InitFcn callback function to initializate the model via matlab m-script. There are params which needs to be change per multiple simulation runs.
As pictured, I'd need to Vd_hfi to be change per simulation runs, it s defined in "init_model" m-script and this variable is used in Simulink model block.
As of now I am not able to chne the params for different values per simulations runs....
Is it possible to achieve this and so how?
Antworten (1)
Fangjun Jiang
am 19 Feb. 2025
0 Stimmen
'InitFcn' is executed before the simulation starts, that is probably the reason that your parameter values set in the multiple simulation are over-written.
Usually, you can move the function calls in 'InitFcn' to 'PreLoadFcn' or 'PostLoadFcn' if it is only to set up some parameter values. Then use Simulation Manager to set up all the parameter values that need to be different between each simulation.
16 Kommentare
Peter
am 19 Feb. 2025
Fangjun Jiang
am 19 Feb. 2025
In your example, Vd_hfi is set as 100 in the first simulation and set as 250 in the second. Maybe Vd_hfi is also set a value in "init_model" thus the conflict.
If all the other calculation in init_model does not depend on Vd_hfi, then you can move init_model from InitFcn to PreLoadFun, then you are all set.
If there are some other calculations depending on Vd_hfi, then you need to modify init_model to remove the assignment of Vd_hfi.
Fangjun Jiang
am 19 Feb. 2025
Okay, I tried an example. The callbacks are ignored when using this multiple simulation panel. It does not make sense. Need to look into this multiple simulation panel a little bit more.
Fangjun Jiang
am 20 Feb. 2025
If you have parameters dependent on each other and it takes some calculatoin, this "Multiple Simulations" panel from Simulation Manager may not be the right tool to use. I know Simulink Test can do that but you needs the Simulink Test Toolbox.
Peter
am 20 Feb. 2025
Verschoben: Fangjun Jiang
am 20 Feb. 2025
Fangjun Jiang
am 20 Feb. 2025
Design your Simulink test cases, in the customized iterations, you can specify the parameter values for iteration and run scripts. Go through a tutorial if you never used Simulink Test before.
Fangjun Jiang
am 24 Feb. 2025
It is not recommened to use all those "clear" commands but if you only work on one model, it should be fine. There are ways to better construct the callbacks.
Simulink Test is specifically designed for testing and it is defintely worth to learn and use it.
Peter
am 24 Feb. 2025
Verschoben: Fangjun Jiang
am 24 Feb. 2025
Fangjun Jiang
am 24 Feb. 2025
It is a little difficult to get use to Simulink Test.
Peter
am 25 Feb. 2025
Fangjun Jiang
am 25 Feb. 2025
Write a little script using for-loop. Set different values for Vd_hfi, use SimResult=sim('model') to run multiple simulations and save the results. The "init_model" is called the same way and no need to do any change.
Peter
am 25 Feb. 2025
Fangjun Jiang
am 25 Feb. 2025
Either remove these statements, or move the "init_model" to PreLoadFcn and set your own InitFcn.
Peter
am 25 Feb. 2025
Verschoben: Fangjun Jiang
am 25 Feb. 2025
Kategorien
Mehr zu Verification, Validation, and Test finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!