Hold True Value for finite length of time
Ältere Kommentare anzeigen
I am fairly new to matlab and have been getting to grips with it over the past month so excuse me if I missed something very obvious.
I am using a relational operator that will output a true value (1) when the input single goes beyond a certain range. What I require is that when the input single goes beyond this certain range and the output single becomes true, to hold this true value (e.g. the constant one) for a period of time e.g. 10 seconds.
I have been trying to use enabled subsystems, switches and zero hold blocks but with little success.
Any help would be much appreciated.
Modeling using Simulink
1 Kommentar
Kaustubha Govind
am 11 Jul. 2011
You may want to specify that you are modeling in Simulink. :)
Akzeptierte Antwort
Weitere Antworten (3)
Kaustubha Govind
am 11 Jul. 2011
0 Stimmen
An important thing to keep in mind when modeling in Simulink is that blocks run according to their sample time (see this blog post for information how you can look at your block's sample time). So if you are using a zero-order hold block, it will only hold the input for one sample period - you need to sample the sample time of the zero-order hold block to 10 seconds to achieve what you need.
3 Kommentare
Owen
am 11 Jul. 2011
Kaustubha Govind
am 11 Jul. 2011
Owen: It's not clear if you're saying whether this answer resolves your question or not. If it does, please accept it. If not, please elaborate on how it is not sufficient.
Owen
am 11 Jul. 2011
Jie
am 18 Jan. 2017
0 Stimmen
Hi, I think I solved the problem in simulink. Please see the picture below. The 'Discrete-Time Integrator' Gain value should set to 1.

1 Kommentar
Vijay
am 1 Aug. 2018
I want to hold the newest peak (the last peak – input changing from 0 to 1) for an hour. I used the zero order hold Block for that purpose (sample time 3600s). But the problem with zero order hold block is, it sometimes omits the peak and I am not getting why it does that.
As you see in the attached picture, the blue line is the held curve and the red one is the input. One can see that, in the places where I marked wrong, the peak is not held as wanted it to.
Anybody has experience with this matter?
Kategorien
Mehr zu General Applications finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



