How to hold a value in simulink ?

134 ビュー (過去 30 日間)
Arthur MONVOISIN
Arthur MONVOISIN 2021 年 10 月 25 日
回答済み: CHANDRA BABU GUTTIKONDA 2025 年 8 月 12 日 11:19
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.

採用された回答

Pranjal Kaura
Pranjal Kaura 2021 年 10 月 28 日
Hey Arthur,
You can refer to this link to know more about holding values in Simulink.
Hope this helps!
  1 件のコメント
Arthur MONVOISIN
Arthur MONVOISIN 2021 年 10 月 28 日
Thank you ! It worked !

サインインしてコメントする。

その他の回答 (1 件)

CHANDRA BABU GUTTIKONDA
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.

カテゴリ

Help Center および File ExchangeSources についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by