Assigning Model Simulation parameters programmatically
2 views (last 30 days)
Show older comments
I am trying to simulate a simulink model, where I want to have different Solver Step Sizes (Fixed) and simulation durations (start/stop time) for different simulations, and it would be helpful if the same could be done using a matlab code.
Following are the matlab arrays for various simulations:
simTime = [10 20 40 60 100]
stepSize = [1e-6 2e-6 4e-6 6e-6 10e-6]
It would be really helpful, if someone can provide an easy way for the above using the sim function, thanks!
0 Comments
Accepted Answer
Rahul
on 6 Jul 2023
Hey Omkar,
Assuming that you are using the latest release r2023a and that your specified parameter values are in seconds, you can specify parameter names as well as their string values in the sim function in input arguments, using the num2str function, as follows:
simTime = [10 20 40 60 100];
stepSize = [1e-6 2e-6 4e-6 6e-6 10e-6];
% Size of simulation parameter array
elements = numel(simTime);
for idx = 1:elements
% Insert actual model name instead of 'modelName'
sim('modelName', 'StartTime', '0', 'StopTime', num2str(simTime(idx)), 'FixedStep', num2str(stepSize(idx)));
end
For reference, you can check out the sim function documentation or even right-click any parameter in the Solver Setting under Model Settings, and get a what's this' pop-up to know more about interacting with the parameter.
Hope that helps!
More Answers (0)
See Also
Categories
Find more on Configure and View Diagnostics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!