count the duration for which variable value is zero in simulink

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 件のコメント

K E
K E 2012 年 7 月 24 日
Do you need the duration that I=0 during the simulation, or after it has finished?
Manish
Manish 2012 年 7 月 24 日
During the Simulation.

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

 採用された回答

C.J. Harris
C.J. Harris 2012 年 7 月 23 日

1 投票

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 件のコメント

Manish
Manish 2012 年 7 月 24 日
This logic gives me the total number of instances when the value is zero. What I need is, the count should start when the variable Value is zero and reset the count when the variable value becomes nozero. Which means I need to determine the period for which the value is continuously zero.
Thanks would appreciate your inputs.
C.J. Harris
C.J. Harris 2012 年 7 月 24 日
In this case add a reset condition to the integrator. Reset the integrator whenever it receives a non-zero value.
Manish
Manish 2012 年 7 月 24 日
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 2012 年 7 月 25 日
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.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeGeneral Applications についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by