计数1 - >的出现次数0更改SIMULINK中的信号

时间:2015-11-05 20:00:58

标签: count binary simulink

例如,我有这个向量来自其他块的信号

时间的样本,让我们说每一秒。实际上,这个载体的性质是

随机但这只是一个例子:

U = [1 1 0 0 1 0 0 0 0 1 0]

我想将此信号处理为一个计算更改发生次数的块

从1到0.初始值假定为零。

因此,在上面的例子中,当前两个条目(即1)

进入此区块,该区块将输出零。

但是,当第三个条目(为零且其先前值为1)进入

阻止,它会给我一个,当第六个条目(它是零和它的

之前的值是1)进入区块,它会给我两个,当最后一个

条目(为零且其先前值为1)进入块,它将给出

我三个。对于所有其他情况,该块将给出零。

因此,该块将计算输入为零的情况及其先前的

输入是一个。

块的输出随着时间的推移而不断变化,反过来,

进入其他区块。

我不想要实施或细节。我已经知道了所有这些。

我只是想知道进行此类计数的块的名称是什么。

我尝试使用计数器和内存块但不幸的是,我无法获得

正确的目标结果。

问候

1 个答案:

答案 0 :(得分:0)

不知道你是否还需要答案,但以下情况应该这样做(我不认为可以在一个标准块中完成)。

这假设您的输入是随时间变化的信号(而不是常量矢量)。

对于[1 1 0 0 1 0 0 0 0 1 0]的输入,

Version 1会提供[0 0 1 1 1 2 2 2 2 2 3]的输出。

自从你写了

  

对于所有其他情况,该块将给出零。

我还添加了Version 2,对于您的输入,输出[0 0 1 0 0 2 0 0 0 0 3]