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

21 次查看(过去 30 天)
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.

采纳的回答

Mathieu NOE
Mathieu NOE 2025-9-30,9:15
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 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Schedule Model Components 的更多信息

产品


版本

R2025a

Community Treasure Hunt

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

Start Hunting!

Translated by