How do I hold a value in Simulink for the rest of the simulation time?

20 views (last 30 days)
I am fairly new working with Simulink and probably I don’t know enough about the flows of information in time and how to control them.
I already read answers related to “Hold a value indefinitely once a condition becomes true”. I suppose that part of the answer could be there, but the problem is not related to a true condition keeping in time but a value that I want to keep until the end of the simulation.
I try first with a simplified system consisting of a discrete sine wave and a certain time (60 sec), I need to read the value in the vicinity of 60 sec. and propagate it until the end of the simulation time.
I tried a couple of methods, but always having the same result. I actually have the time and the value of the sine wave at which I have to propagate until the end of the simulation, but the value I have after that point is always cero.
The result of Scope 2 is:
I am expecting to have a flat line near -0.30 from 60 to 70 sec.
I you could help me with some advice it would be appreciated.

Accepted Answer

Mathieu NOE
Mathieu NOE about 24 hours ago
hello
this would be my suggestion , using only a delay (or memory ) block associated with a conditionnal block
when t>= your time limit (here 6 s in my demo) the output is simply the copy of the previous value just before the time condition occured
the accuracy of the method depends of the solver options and time step used (I choose fixed time step = 1 e -3 s)
  3 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Schedule Model Components in Help Center and File Exchange

Products


Release

R2025a

Community Treasure Hunt

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

Start Hunting!