Tuning block parameters at every time step in a simulation

Model which changes the parameter of a block with every time step – without using S-functions.
1K Downloads
Updated 1 Sep 2016

View License

I needed a simple model which could change the parameter of a block (say Gain block) with every time step – without using S-functions. There are numerous ways to do this. After trying out a couple of things, I came up with a simple model which demonstrates this.
Open the “updating_sim” model, and run the simulation. Open the scope and notice how the input Sine wave is multiplied by an increasing Gain amount at each time step (0.2s). The final value of Gain is 51 (since in 10s there will by 51 time steps).

Here I have used the "add_exec_event_listener" within my StartFcn model callback, which triggers a listener function called "update_param" whenever the event "PostOutputs" is hit for the block "updating_sim/Gain". Also note that the Gain value is reset to '0' for each simulation run using the InitFcn callback.

Cite As

Nishaat Vasi (2024). Tuning block parameters at every time step in a simulation (https://www.mathworks.com/matlabcentral/fileexchange/24935-tuning-block-parameters-at-every-time-step-in-a-simulation), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Simulation in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.1

Updated license

1.0.0.0