Azzera filtri
Azzera filtri

count the duration for which variable value is zero in simulink

16 visualizzazioni (ultimi 30 giorni)
t=(1:1:24); I=[0 0 0 1 1 1 2 2 2 5 5 5 10 10 10 15 15 15 5 5 5 0 0 0];
If these are the inputs in Simulink using a lookup
How can I determine the period for which the variabe (I) has the value of 0
Any help on this will be appreciated
Thanks.
regards Manish
  2 Commenti
K E
K E il 24 Lug 2012
Do you need the duration that I=0 during the simulation, or after it has finished?

Accedi per commentare.

Risposta accettata

C.J. Harris
C.J. Harris il 23 Lug 2012
I'd take the input and convert it into a logical signal (1's and 0's), inverse this signal using a NOT block. Convert this back to a number (again, 1's and 0's) and feed it through an integrator block. The integrator output will then increase by a factor of 1 each second the input is non-zero. This output will then equal the amount of time your signal was zero.
  4 Commenti
Manish
Manish il 24 Lug 2012
Thanks C.J.Harris it was really helpful. Just one last question will this logic be applicable if I want to check it for a variable value like 1 or 2 instead of zero?
C.J. Harris
C.J. Harris il 25 Lug 2012
Yes, you would need a slight modification though. Instead of converting the signal straight to a logical you would have to compare it against a constant.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Event Functions in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by