Simulink model parameter update and observations at discrete times

1 view (last 30 days)
I have a Simulink model M which includes a parameter p. Assume that I want to simulate M over the the time period [0, T]. Also assume that I get an output y from the model M.
Now consider discrete time points [0 t_1, t_2, ..., t_n] in the time interval [0, T]. At each t_i I want to change p in the model and want to get the value of y.
How can I do this?

Answers (1)

Paul
Paul on 11 Sep 2024
I think you can do exactly what you want using the new (since 2024a) simulation object.
  4 Comments
EA
EA on 13 Sep 2024
Simulation uses a variable step solver. t_i's sare time steps determined by the user in the interval [0, T]. t_i's can be assumed to be larger than the the minimum time step required for numerical simulation.
Paul
Paul on 13 Sep 2024
If the t_i values are not currently forced to be at major time steps, the you can change add logic to the model to force that to be the case and adjust p at those times. What happens after that depends on what p actually is and how it's used in the model. Or, if you force t_i to occur at major time steps then you can use the simulation object.
Or, you can use the workflow desribed at Use Model Operating Point for Faster Simulation Workflow to simulate up t_1, adjust p programatically, simulate to t_2, etc.

Sign in to comment.

Categories

Find more on Event Functions in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!