How can I create a multistep function with variable number of steps in simulink?
120 views (last 30 days)
Show older comments
I am running a simulation in simulink that requires me to change the value of a constant block during the simulation. If I have an array of of all of the values i want to use, how can I have it change from value to value based on the time of the simulation ? I have tried using the clock and floor function, this will return an integer that I can use to reference the element of the array . However, the index of the array in the constant block does not appear to be able to change. Can anyone help with this? See attached MATLAB code for a visual description of the problem.
0 Comments
Answers (2)
Nikhil Negi
on 31 May 2018
Hello Evan,
You can use a selector block to select different elements of a vector. I've modified your example you can see it and also read about selector block to modify it according to your needs.
Sviatoslav Klos
on 5 Dec 2018
I can suggest to use some manualization of running simulink.
You can create some kind of 'for' or 'while' cycle with command
set_param('vdp','SimulationCommand','stepforward')
% update constant block variable
cont1=array(1,i);
set_param('modelName','SimulationCommand','update')
end
This may solve your issue.
You may read more about commands here - https://www.mathworks.com/help/simulink/ug/using-the-sim-command.html
0 Comments
See Also
Categories
Find more on Simulink Functions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!