How to hold a value in simulink ?
148 次查看(过去 30 天)
显示 更早的评论
Hello,
I search how to hold a value in my simulink model for an operation : I need to keep the latest value of my model and then add it to my signal until the input signal get to 0 again. It is like a vertical translation of my signal by the latest value calculated in the latest period.
Something like that : 

Can a block in simulink do that or hold the latest value to add it to all the next iteration ?
Here is my simulink model :

K has the value 12.
A1 has the value 9.5e-5.
In input I have a custom repeating sequence from the fonction in the m file (force.m) : 

I'm sorry for the size of each screen capture, I don't know how to manage it.
Thank you for your time.
0 个评论
采纳的回答
更多回答(1 个)
CHANDRA BABU GUTTIKONDA
2025-8-12,11:19
In Simulink, you can hold the latest value of a signal until a reset condition (like the signal crossing zero) by using a zero-crossing or change-detection block to trigger a subsystem that stores the value in a Memory or Unit Delay block; this stored value is then continuously added to the live signal through an Add block, effectively applying a vertical shift that updates only at each trigger event, keeping the offset constant between events until the input hits zero again.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!